Re: [racket-users] in-directory sorted results

2020-08-06 Thread evdubs
I created a PR  for a possible 
fix for this. I am unsure if the (directory-list) implementation in 
kw-file.rkt needs to be calling sort.

Evan

On Monday, August 3, 2020 at 3:05:55 AM UTC-10 evdubs wrote:

> Sorry, I cherry-picked the doc example as an "easy" example that others 
> might be able to easily observe.
>
> However, please imagine the following filesystem:
>
> /var/tmp/test/1.txt
> /var/tmp/test/2.txt
> /var/tmp/test/3.txt
> /var/tmp/test/4.txt
>
> The following shows these files in order:
>
> > (for/list ([f (in-directory "/var/tmp/test")]) (displayln f))
>
> However, the following does not have the same order:
>
> > (current-directory "/var/tmp/test")
> > (for/list ([f (in-directory)]) (displayln f))
>
> Does this help? What is interesting to me is that in-directory can call 
> directory-list (which seems to call sort) or dir-list, which also calls 
> sort and directory-list.
>
> Perhaps I just need to wait for your fix.
>
> Evan
> On Monday, August 3, 2020 at 2:28:33 AM UTC-10 Matthew Flatt wrote:
>
>> At Sun, 2 Aug 2020 18:38:18 -0700 (PDT), evdubs wrote: 
>> > However, the docs also show: 
>> > 
>> > > (current-directory (collection-path "info")) 
>> > > (for/list ([f (in-directory)]) 
>> > f) 
>> > '(# 
>> > # 
>> > # 
>> > #) 
>> > 
>> > Isn't this not getting sorted correctly? I am seeing that calls to 
>> > (in-directory) do not have sorted results, but calls to (in-directory 
>> > "path") do have sorted results. 
>>
>> You're right that the documentation's example is incorrect, and I'll 
>> fix that. 
>>
>> Most examples in the documentation are rendered by running them, so the 
>> results can't get out-of-sync like this. Since the `in-directory` 
>> example involves the filesystem, though, the example result is written 
>> out in the documentation source, and it wasn't updated when the sorting 
>> guarantee was added to `in-directory`. 
>>
>> Matthew 
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/b28550c2-e4b5-4d4c-afe3-350d605e2409n%40googlegroups.com.


Re: [racket-users] in-directory sorted results

2020-08-03 Thread evdubs
Sorry, I cherry-picked the doc example as an "easy" example that others 
might be able to easily observe.

However, please imagine the following filesystem:

/var/tmp/test/1.txt
/var/tmp/test/2.txt
/var/tmp/test/3.txt
/var/tmp/test/4.txt

The following shows these files in order:

> (for/list ([f (in-directory "/var/tmp/test")]) (displayln f))

However, the following does not have the same order:

> (current-directory "/var/tmp/test")
> (for/list ([f (in-directory)]) (displayln f))

Does this help? What is interesting to me is that in-directory can call 
directory-list (which seems to call sort) or dir-list, which also calls sort 
and directory-list.

Perhaps I just need to wait for your fix.

Evan
On Monday, August 3, 2020 at 2:28:33 AM UTC-10 Matthew Flatt wrote:

> At Sun, 2 Aug 2020 18:38:18 -0700 (PDT), evdubs wrote:
> > However, the docs also show:
> > 
> > > (current-directory (collection-path "info"))
> > > (for/list ([f (in-directory)])
> > f)
> > '(#
> > #
> > #
> > #)
> > 
> > Isn't this not getting sorted correctly? I am seeing that calls to 
> > (in-directory) do not have sorted results, but calls to (in-directory 
> > "path") do have sorted results.
>
> You're right that the documentation's example is incorrect, and I'll
> fix that.
>
> Most examples in the documentation are rendered by running them, so the
> results can't get out-of-sync like this. Since the `in-directory`
> example involves the filesystem, though, the example result is written
> out in the documentation source, and it wasn't updated when the sorting
> guarantee was added to `in-directory`.
>
> Matthew
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/b6b9bf5e-6ea9-46c1-b486-d57b33f80f0bn%40googlegroups.com.


Re: [racket-users] in-directory sorted results

2020-08-03 Thread Matthew Flatt
At Sun, 2 Aug 2020 18:38:18 -0700 (PDT), evdubs wrote:
> However, the docs also show:
> 
> > (current-directory (collection-path "info"))
> > (for/list ([f (in-directory)])
>  f)
> '(#
>   #
>   #
>   #)
> 
> Isn't this not getting sorted correctly? I am seeing that calls to 
> (in-directory) do not have sorted results, but calls to (in-directory 
> "path") do have sorted results.

You're right that the documentation's example is incorrect, and I'll
fix that.

Most examples in the documentation are rendered by running them, so the
results can't get out-of-sync like this. Since the `in-directory`
example involves the filesystem, though, the example result is written
out in the documentation source, and it wasn't updated when the sorting
guarantee was added to `in-directory`.

Matthew

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20200803062825.252%40sirmail.smtps.cs.utah.edu.