0.1.5 • Published 7 years ago

lisp-js-compiler v0.1.5

Weekly downloads
15
License
MIT
Repository
-
Last release
7 years ago

Lisp-JS

This library is an extendable interpreter / compiler for Lisp intended for use in any JS environment as a secure sandboxed execution runtime.

Example code:

const { run } = require('./index')

const code = `
  (process
    (def
      [sqrtIter x guess]
      (if
        [= (Math .abs (- x (* guess guess))) 0]
        guess
        (sqrtIter x (/ (+ guess (/ x guess)) 2))
      )
    )
    (def
      [sqrt x]
      (sqrtIter x 1)
    )
    (sqrt 9)
  )
`

let result = run({})(code)

console.log(result)

Roadmap

  • Port pausable interpreter to TypeScript
  • Implement a pausable interpreter
  • Improve README and docs
  • Support for comments (;) as a special form
  • Implement code generation
  • Implement a code generator for WebAssembly
  • Allow concurrent execution
  • Allow multi-threaded execution

Goals

  • Build a language for Fractal over JS
  • Be simple and performant

Docs

  • Language is described in LANGUAGE.md

TODOs

  • Tests lambdas to capture values
0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.8

7 years ago

0.0.7

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago