mikedouglas / conspiracy

A scheme-like lisp on javascript.

Home Page:http://repl.entropy.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Conspiracy is a Scheme-like Lisp built on Javascript.

Try

Visit http://repl.entropy.io.

Features

  • first-class macros

(let ((when (macro (test & more) `(if ,test (begin ,@more))))) (when #t (print "hello")))


* explicit tail call optimization with `recur`

```scheme
(define (length n)
(let ((f (lambda (n acm)
           (if (empty? n)
             acm
             (recur (rest n) (inc acm))))))
  (f n 0)))
  • type integration with Javascript (strings, numbers, lists)

(eq? (js-eval "3 + 4") 7) ; => true (rest (js-eval "[1,2,3]")) ; => [2,3] (js-eval (first "process.argv")) ; => "node"


Use
---

To start a REPL: `node lib/conspiracy.js`.

To eval a file: `node lib/conspiracy.js <FILE>`.

To start the REPL web server: `node web/repl.js`.

About

A scheme-like lisp on javascript.

http://repl.entropy.io

License:MIT License


Languages

Language:JavaScript 84.7%Language:Scheme 15.3%