I put together some notes about available data structures in Racket, with 
some performance considerations.  It needs more work, but perhaps it can be 
used as a starting point and it can be added to the Racket wiki, if/when 
others consider it adequate:

https://gist.github.com/alex-hhh/3cc5690a7f9c74543dab6c11344e6202

I didn't write a "Python to Racket" guide, because I don't really know 
enough about Python to write such a document, and I also think that a more 
generic document is simpler to maintain and can be used by people who come 
from other languages as well.

I also tried to keep the document short, the aim being to provide a 
competent programmer who is new to Racket with a 5 minute overview to its 
data structures and some links to the starting points in the 
documentation.  We can add things to it, but I think it is better to keep 
it short rather than comprehensive in this case -- after all, there is the 
Racket Guide and Racket Reference and these documents contain all the 
details.  Perhaps new documents can be added to the wiki, exploring other 
topics in more detail.

I did not mention `ralist` because (1) I have no experience with it, but 
more importantly (2) the package is not part of the Racket distribution and 
has to be installed separately.  I don't it reflects well on Racket if we 
tell people to install a separate package if they want an efficient 
container...  I have no experience with `ralist`, but if it is indeed a 
good data structure and it has a potentially wide usage, it should be 
included in the default Racket installation.

Alex.

On Sunday, February 3, 2019 at 7:00:10 AM UTC+8, Matthias Felleisen wrote:
>
>
>
> Racket needs *you*. Please. 
>
> The proper approach is to have short pages for different language 
> immigration groups: Python and R come to mind as obvious examples but I am 
> sure there are others. 
>
> What I mean is we need help and *you* can help. Let me explain it with the 
> Python example: 
>
> 1. Set up a page (wiki?) called “From Python to Racket” 
>
> 2. Create two sections that are immediately visible from the top: 
>          
>         — idioms 
>         — performance pitfalls 
>
> 3. In the specific case of Python, the second subsection needs to start 
> with a subsection on 
>
>         — Python Lists aren’t Racket Lists 
>         — then point to data/ralis and show how to transliterate the 
> loop/append example like this 
>         — optionally also show the more native Racket idiom 
>
> 4. When anyone observers another blog/social media/whatever post on Racket 
> is slow because I come from Python, 
>
>         (a) point the posters to the page  or 
>         (b) if it is a new case, write a section for this example then do 
> (a) 
>
>
> If you want to help advertise Racket to others, this is an excellent way 
> of helping out. 
>
> Thanks — Matthias 
>
> [[ p.s. For my very first Python program (a couple of days before meeting 
> with GvR), I used Python’s append and was annoyed beyond belief. ]] 
>
>
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to