3 ms·
How does it compare to Shen? http://www.shenlanguage.org/ http://www.shenlanguage.org/
by HerrMonnezza 11y ago
How does it compare to Shen? http://www.shenlanguage.org/ http://www.shenlanguage.org/
- tormeh 11y ago"runs under CLisp, SBCL, Clojure, Scheme, Ruby, Python, the JVM, Haskell and Javascript" Wow, someone really likes writing compilers...
- chadzawistowski 11y agoMark Tarver originally wrote Qi, which exclusively ran on top of Common Lisp. Qi was refactored as Shen, which is implemented on a small core and is thus very portable. IIRC Mark only maintains the Common Lisp implementations, and the rest were implemented by the community.
- tormeh 11y agoHow can something, no matter how small core it has, be very portable from CL to Haskell?
- chadzawistowski 11y agoShen doesn't execute directly, it's compiled to K-lambda, a very small, simple, lisp-as-bytecode. K-lambda is very portable, and wherever K-lambda can run, so can Shen. Details here: http://www.lambdassociates.org/blog/klambda.htm http://www.lambdassociates.org/blog/klambda.htm
- cheepin 11y agoInteresting to see how many of these overlap. For example: Lux->Clojure->JVM Lux->Ruby->JVM Lux->Haskell->Javascript Any more that I missed?
- yellowapple 11y agoHypothetically: Lua->Clojure->Javascript (since Javascript is supposedly one of Clojure's compilation targets, in the form of ClojureScript).
- eduardoejp 11y agoFrom what I've seen about Shen, it seems like the idea is to write some kind of layer on top of the host language on which Shen is run, kind of like an interpreter, though not quite. Or at least that's the feeling I've got from watching a talk on Shen. Lux, on the other hand, will be compiled directly to the target platforms. There will be a degree of separation (mostly because portability is a #1 concern for me and I don't wan't host semantics to compromise it), but Lux is meant to compile down to host code (bytecode, in the case of the JVM). Also, the type-system is more like Haskell's, whereas Shen has it's own way of doing it (sequent-calculus).
- Johnny_Brahms 11y agoComes with a fully functional prolog. Sweet!