I don't think I am either eloquent or knowledgeable enough to help, being a 
dabbler in both.
I do think of them very much as duals of each other, both in a good way and 
a bad - to wit: whichever I'm using I often find myself really wanting 
features of the other!

However there is a good (if somewhat old) blog post by Mark Engelberg, 
which explains why he made the transition in the other direction.
I "feel" a lot of the things he says, he certainly addresses the subject of 
data structures very well, and may help you to understand what you're 
dealing with a bit better.

Here: http://programming-puzzler.blogspot.com/2010/08/racket-vs-clojure.html

On Thursday, August 23, 2018 at 6:02:07 PM UTC+1, Ben Kovitz wrote:
>
> Has anyone written a guide for someone familiar with Clojure to get up to
> speed quickly with Racket?
>
> If not, I'd be willing to collaborate on writing one, if you'd be willing 
> to
> spend a day or two showing me how to do things in Racket.
>
> Here's why I'm asking. I wrote a bunch of code in Clojure for a project 
> that's
> heavy on graphs, expecting that the GUI would be easy because Clojure 
> provides
> access to the Java ecosystem without getting mired in Java. I ran into 
> several
> obstacles with Clojure, one of which was that the support for writing a GUI
> is actually pretty sketchy. I just looked a bit at switching to Racket, 
> and so
> far it looks excellent: debugging (wow!), documentation (wow!), and what
> appears to be a truly great GUI library. In particular, the pasteboard% 
> class
> looks like it might fulfill most of my needs very simply.
>
> As excellent as the documentation is, there are a number of probably very
> low-level, practical matters that I haven't been able to infer quickly. 
> Here's
> a sample of the sort of things that are puzzling me. Most could probably be
> sorted out in a few minutes:
>
>   In Clojure, the data structures of first resort are map and vector.
>   What's the equivalent in Racket--the short list of bread-and-butter data
>   structures that you reach for first when writing production code? How do
>   you, say, accumulate a sequence of items, like conj'ing to a vector in
>   Clojure? Do you usually do nested data structures in Racket, or do you
>   normally keep them flat, as in Python?
>
>   (Here's one that I figured out, but it took me a whole day.) What's the
>   syntax for 'augment'? (The answer, I think: You're not supposed to
>   explicitly write 'augment'. Instead, you invoke the 'mixin' macro and 
> pass
>   it 'define/augment'.)
>
>   How do you print stuff in the REPL so you can see what's in it? For 
> example,
>   if I print a graph in DrRacket, all I see is this: #<unweighted-graph>
>
>   How do you extract the graph held in a graph-pasteboard<%> object?
>
>   How would you link the graphs in the Generic Graph Library to a
>   graph-pasteboard<%>? And isn't there a pure-functional graph data 
> structure?
>   How do you attach data to the nodes and edges in a graph?
>
> Just to clarify, I'm not looking for a point-by-point comparison of 
> Clojure vs.
> Racket, or a library like rackjure that provides Clojure-like syntax in
> Racket, or anything "pedagogical", high-level, or theoretical. I just want 
> to
> find out some basics about how you actually get things done in Racket,
> explained briefly for someone with prior experience with Clojure.
>  
> Ben
>
>
>

-- 
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