Skip to content

Instantly share code, notes, and snippets.

@qerub
Last active December 17, 2015 17:29
Show Gist options
  • Select an option

  • Save qerub/5646877 to your computer and use it in GitHub Desktop.

Select an option

Save qerub/5646877 to your computer and use it in GitHub Desktop.
Having fun with Racket, Rackjure and a list of JavaScript Lisps
#lang rackjure
(require net/url)
(define js-lisps*
(~>> "https://gitorious.org/moritz-stuff/js-lisps/blobs/raw/master/js-lisps.sxml"
string->url
get-pure-port
read))
(define js-lisps
(for/list ([js-lisp* js-lisps*])
(for/hash ([k+v js-lisp*])
; This reminds me of why it is a good idea to have maps in data exchange formats...
(match k+v [(or (list k v)
(list k v ...))
(values k v)]))))
(define acceptable-js-lisps
(for/list ([js-lisp js-lisps]
#:when (and (eq? (js-lisp 'compiler) #t)
(eq? (js-lisp 'dialect) 'scheme)))
(cons (js-lisp 'name) (js-lisp 'url))))
'(("jsScheme" . "http://www.bluishcoder.co.nz/jsscheme/")
("scheme2js" . "http://www-sop.inria.fr/indes/scheme2js/")
("Spock" . "http://wiki.call-cc.org/eggref/4/spock")
("JScreme" . "http://www.complang.tuwien.ac.at/schani/blog/jscreme.html")
("CPSCM" . "http://www.omnigia.com/scheme/cpscm/home/")
("JavaScriptScheme" . "http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Dumping_Grounds#Language"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment