19 ms·
Heh... From reading the first part of this, I rather expected it to be an implementation of a Lisp-like language (complete with first-class functions, macros, t
by amalcon 19y ago
Heh... From reading the first part of this, I rather expected it to be an implementation of a Lisp-like language (complete with first-class functions, macros, the whole deal, maybe sans some of the bloat) on top of some other runtime environment like Java or Python. That would give the developer the power of Lisp with the libraries of some other language.
It quickly became apparent that it was just an attempt to "dumb down" Lisp.
Incidentally, does anyone know of a (mature) language that does the above? Preferably derived from Scheme? I have really wanted to use this for some time, but I've resisted implementing it myself, thinking that "Someone MUST have done this by now..." As it happens, people have, but it's typically more of an "I hacked this together last weekend; please don't actually use it for anything!" type project.
- amalcon 19y agoWell, go figure -- not an hour after I post this, I find Kawa: http://www.gnu.org/software/kawa/ http://www.gnu.org/software/kawa/ I remember finding this before, but for some reason deciding it was not what I wanted. I can't find anything important missing, though... Cool.
- brlewis 19y agoI was about to post saying you must not have looked very hard. I've been using Kawa successfully for years. Its biggest fault is that there are so few bugs that I'm not motivated to keep up with new releases. There is at least one other JVM-based Scheme implementation out there, and it's stable and well maintained too.
- dpapathanasiou 19y agoThere is at least one other JVM-based Scheme implementation out there, and it's stable and well maintained too. The next LispNYC meeting (Tues., Nov. 13) is going to be on this subject: "Rich Hickey Presents Clojure - A Dynamic Programming Language for the JVM" (http://lispnyc.org/home.clp http://lispnyc.org/home.clp)
- brlewis 19y agoI just remembered the name of the other implementation: SISC, an interpreter. (Kawa is a compiler, but it does have an interactive REPL.)
- tuukkah 19y agoI remember looking at Bigloo a long time ago, but I haven't kept up with the development.
- brlewis 19y agoBigloo is a Scheme compiler that supports the JVM as one of its back-end targets. Kawa is a JVM compiler that supports Scheme as one of its front-end languages. SISC is an interpreter that runs on the JVM. There are other Scheme interpeters for the JVM, but SISC is the most prominent and said to be the fastest interpreter. In some tests it even beat the Kawa compiler.
- queensnake 19y agoQi is far from being a 'dumbed-down' Lisp. It's got a turing-complete type system (IIRC something is of a type if it satisfies /full code/), it unifies a couple of paradigms - it's an advanced language, not a dumbed down one.