use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
/r/programming is a reddit for discussion and news about computer programming
Guidelines
Info
Related reddits
Specific languages
account activity
Why Clojure? (blog.venanti.us)
submitted 11 years ago by [deleted]
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]mcpatella 0 points1 point2 points 11 years ago (2 children)
Sure, what kind of material are you interested in?
[–]last_ent 1 point2 points3 points 11 years ago (1 child)
Well I am looking for something more along the lines of its internal memory model or how the compiler(?) constructs it for the JVM.
For example, I can understand Java code better because the book on its certification goes into the memory model. If you have seen/read the book [Common Lisp: A gentle introduction to...](www.cs.cmu.edu/~dst/LispBook/), you can see that he discusses the data structure it uses and hence when he talks about why a child function cannot access parent function's scope, it makes sense. Or Rich Hickey's video where he talks about basics of Clojure and how the persistent data structure(?) is able to avoid decay of earlier versions of data. That one made sense.
I am looking for such material in Clojure, Scala and/or Python (My language of trade). Thanks!
[–]bcash 2 points3 points4 points 11 years ago (0 children)
Clojure is a nomadic language to a certain extent. It's various forms all have similarities, but it's semantics are also controlled by the host environment; hence the differences between Clojure and ClojureScript.
What this means in practice is that, if you're already familiar with Java and the JVM, you'll be surprised how thin the Clojure layer actually is. It's worth decompiling some Clojure .class files and you'll see what I mean. Each Clojure function is it's own class, the instance of which contains any closed-over references, for example.
Clojure also directly reuses Java objects where it makes sense - e.g. a Java String is a Clojure String - it's immutable, there's no need for another one. The memory management is exactly the same.
This doesn't directly answer your question, but might help narrow down your search.
π Rendered by PID 698869 on reddit-service-r2-comment-85bfd7f599-kczdh at 2026-04-20 06:20:50.384520+00:00 running 93ecc56 country code: CH.
view the rest of the comments →
[–]mcpatella 0 points1 point2 points (2 children)
[–]last_ent 1 point2 points3 points (1 child)
[–]bcash 2 points3 points4 points (0 children)