https://lips.js.org/
LIPS Logo: Scheme (lisp dialect) in JavaScript
Powerful Scheme lisp in JavaScript
* Demo
* Docs
* Get Started
* source
* Hyper App
* Screenshoter
* Chat
Summary
LIPS is poweful Scheme based lisp interpreter written in JavaScript.
The name is recursive acronym which stands for LIPS Is Pretty Simple.
The interpreter have very good integration with JavaScript.
Key features of the interpreter:
* Literal regular expression.
* Great integration with JavaScript. You can use any JS library out
of the box.
* Asynchronous execution (auto resolving of promises with optional
promise quotation).
* Functional helpers (implementation inspired by RamdaJS)
* Possibility modify the parser at runtime (add new syntax, similar
to vectors and object).
* Possibility to set represention of new data types for write and
display. Witth parser extensions you can make new data types have
different syntax and still be homoicoic.
* Small JavaScript core with Standard Library implemented in basic
Scheme.
* Full support of Unicode and Emoji.
* Support for SXML, that allow to write JSX like Preact/React apps.
* I/O Ports supports in browser with BrowserFS.
* Binary Compiler that speed up the parsing of big files (e.g.
standard library).
* Fully implemented numerical tower and Big Integer support.
* Powerful introspection (similar to the one in Python).
* Auto formatting of lisp code (pretty print).
* Lisp/hygienic macros and macroexpand.
* Builtin help system.
1.0.0 Beta Demo
Check Everything you need to know about Scheme and try the
interpreter while you will read the document.
You can also look at Doumentation for 1.0.0 (WIP).
* lexical
* dynamic
Bookmarklet
When you're learning Scheme language, you can run the REPL directly
on any page that have Scheme tutorial you're learning from. It even
work with PDF files and new empty tab (at least in Chrome). Drag this
link LIPS REPL to your bookmarks. When you click on the bookmark it
will run the interpreter. You can also just click the link.
The bookmark can also be used to add REPL to your LIPS Web
application.
It may also not work no sites that are protected with Content
Security Policy
Browser
When using LIPS Scheme interpreter in browser you need to include the
main script file.
If you want to use Webpack see wiki page for details.
or jsDelivr that is somewhat faster:
You can put LIPS code directly in script tag:
NOTE: If you want to load standard library, you should use bootstrap
attribute that will load it for you. You can optionaly specify the
location of the file.
You can also use src attribute to link to source file.