NoahTheDuke
Joined 14 years ago
Joined 14 years ago
Are there any plans for exposing a Clojure API? Given that it's implemented in Clojure, seems like it would be a natural fit. Interop with Java is nice but can be cumbersome compared to the more natural calling conventions and idioms (threading macros instead of `..` builder patterns, etc).
You disagree that they enjoyed the article?
In Racket, you write `(define (foo arg1 arg2) (+ arg1 arg2))`. Why isn’t `(foo arg1 arg2)` evaluated as a function? It’s a list and it isn’t quoted, so it should be evaluated. However, `define` is a macro (I think, might be a special form), so that list isn’t evaluated and doesn’t have to be quoted. That violates the basic tenant of “unquoted forms wrapped in a list are evaluated as fiction calls.”
In Clojure, you write `(defn foo [arg1 arg1] (+ arg1 arg2))`. The [] is a reader macro, a vector literal. It communicates that it’s not a function call but simply data (in this case, a vector containing two symbols).
Maybe I’m just used to it but I find this stuff really helpful.
This is an interesting design decision. Why don’t you want to combine them?
Thank you for the effort, you gave me quite a few cherished memories.
Not to denigrate the efforts of folks who study and practice “the act of language acquisition”, I’ve just been surprised and delighted to watch my now 2 year old daughter learn to speak, which has made me think about how different her experience of “learning a language” is from all of my poor attempts at learning foreign languages.
My views and posts are my own.