So, are there any in-browser lisps that, you know, do something? Maybe one that plays in the Pipes space, letting you work with feeds of various sorts?
The Tenth Rule applies only to "sufficiently complicated" programs that add so many features and support libraries that they become a poor subset of Lisp.
Implementing your a subset dialect of your favorite language in a poor/hostile/new environment is quite hackish, imo.
Comments
And a quick shout-out to JSLisp : http://joeganley.com/code/jslisp.html . That was an educational piece of JS for me.
Hey, thanks! I wrote that. I went here to post it, and it was already here.
Outstanding.
very cool!
Arclite is a subset of Arc written in Javascript.
http://jonathan.tang.name/files/arclite/index.html
Thanks, that looks interesting.
Sweet. It appears to have proper tail recursion.
(define (fib n) (fib-help n (lambda (fn fn-1) fn)))
(define (fib-help n k) (if (<= n 1) (k 1 1) (fib-help (- n 1) (lambda (fn-1 fn-2) (k (+ fn-1 fn-2) fn-1)))))
(fib 1000)
So, are there any in-browser lisps that, you know, do something? Maybe one that plays in the Pipes space, letting you work with feeds of various sorts?
http://en.wikipedia.org/wiki/Greenspun%27s_Tenth_Rule
The Tenth Rule applies only to "sufficiently complicated" programs that add so many features and support libraries that they become a poor subset of Lisp.
Implementing your a subset dialect of your favorite language in a poor/hostile/new environment is quite hackish, imo.
How many of these are there anyway?
Franz, Inc. Allegro Common Lisp has Prompt and Maxima: * http://www.franz.com/products/allegrocl/prompt/javatelnet.ht... * http://www.franz.com/success/demos/maxima/javatelnet.html
That is NOT a "web" Lisp; you're interacting via telnet with Franz Common Lisp, a piece of REAL software with 20+ years of history.
Type this into it:
It should spit an assembly language listing.(disassemble (lambda ()))
Not a HN textarea form input, you type that into a Common Lisp repl (interactive shell.) It should look like this:
Proof that it's not a javascript "web lisp" :-)No macros?