1.1.0 • Published 5 years ago

nanolisp v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

Nanolisp

nanolisp is a small, extensible lisp to embed in JavaScript applications.

Installation and usage

npm install nanolisp
const lisp = require('nanolisp')();

lisp.run(`
(def foobar (add 1 2))
(echo foobar)
`);

Embedding custom libraries

To make this useful, you'll typically want to include libraries that are connected to your application context.

const nanolisp = require('nanolisp');

const appContext = {
    health: 400
};

const library = {
    takeDamage: (hit) => {
        appContext.health -= hit;
    },
    life: () => appContext.health
};

const lisp = nanolisp(library);

const result = lisp.run(`
    (echo life)
    (takeDamage 100)
    (echo life)
`);

Inspiration

This lisp is a fork from what was built for Ronin.

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago