nanolisp
is a small, extensible lisp to embed in JavaScript applications.
npm install nanolisp
const lisp = require('nanolisp')();
lisp.run(`
(def foobar (add 1 2))
(echo foobar)
`);
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)
`);
This lisp is a fork from what was built for Ronin.