5 ms·
I'd argue that clojure-py is important for a different reason: Clojure is slowly sneaking up on every popular runtime: JVM -> Clojure Javascript -> Clojure
by rlander 15y ago
I'd argue that clojure-py is important for a different reason: Clojure is slowly sneaking up on every popular runtime:
JVM -> Clojure
Javascript -> ClojureScript
Erlang VM -> Joxa
CPython/PyPy -> Clojure-py
In a few years clojurers/lispers will be able to target multiple platforms with one simple language.
As a pythonista myself, I used to feel overcome with nausea just by looking at Clojure/Lisp code. However, Erlang was my gateway drug into the functional/bizarre-syntax world and now, after a few weeks (and two books) with Clojure I'm having a bit of an identity crisis: my brain simply refuses to touch messy-non-Lisp code ever again.
- edwardw 15y agoWhat would that two books be? I'm reading the joy of clojure myself now. So far so good.
- rlander 15y agoYeah, I started with TJoC, but it felt like watching a movie before reading the book: it's fun, but you miss many of the insights that went into producing the movie. So I backed up, practiced some (koans, 4clojure, Euler), read Stuart Sierra's Programming Clojure and then read TJoC. Both excellent books, btw.
- lightcatcher 15y agoSadly, I believe all of these ports run slightly different dialects of Clojure (beyond the things that must be different, like interacting with code written in other languages).
- swannodette 15y agoClojureCLR and ClojureScript are not Clojure dialects - they are Clojure implementations. I'm not sure what the creators of clojure-py intend and Joxa is not Clojure as far as I can tell.
- rlander 15y agoOf course, I'd forgotten about ClojureCLR and yes, Joxa is not Clojure, but it's close enough [1] that the point remains valid. [1] From the website: "[Joxa's] not Clojure though there is plenty of shared syntax."
- halgari 15y agoWe're taking the same approach as ClojureCLR and ClojureScript in clojure-py. As much as possible implement things exactly the way Clojure does.
- tree_of_item 15y agoJoxa is not Clojure. From joxa.org: > Joxa (pronounced 'jocksah') isn't Erlang, though its very compatible. Its not Clojure though there is plenty of shared syntax. It's not Common Lisp though that is the source of the macro system. While Joxa shares elements of many languages, it is its own specific language. of all these languages, and knowing these languages will help you get up to speed with Joxa, but it is its own unique language.
- cabalamat 15y ago> In a few years clojurers/lispers will be able to target multiple platforms with one simple language. I doubt it, unless either their code doesn't use any external libraries, or Clojure writes a library abstraction layer containing all the Java/Python/etc libraries.
- rlander 15y agoI did not mean to imply that Clojure code would be portable across runtimes (though it is a possibility). I meant that things like ClojureScript One (if you don't know it, please take a look, it's worth it) will be possible across a variety of domains. Simple interoperability between platforms, same data structures, fewer context switches, Clojure all the way down.
- batista 15y agoIn a few years clojurers/lispers will be able to target multiple platforms with one simple language. All 100 of them (Clojurers)?