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.