I created a PR <https://github.com/racket/racket/pull/3343> 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) 
>> > '(#<path:main.rkt> 
>> > #<path:compiled> 
>> > #<path:compiled/main_rkt.dep> 
>> > #<path:compiled/main_rkt.zo>) 
>> > 
>> > 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/b28550c2-e4b5-4d4c-afe3-350d605e2409n%40googlegroups.com.

Reply via email to