LIPS
Our great sponsors
LIPS | scheme-lsp-server | |
---|---|---|
39 | 1 | |
383 | - | |
3.1% | - | |
9.1 | - | |
7 days ago | - | |
JavaScript | ||
MIT | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
LIPS
- LIPS: Powerful Scheme based Lisp interpreter in JavaScript
-
(Learn 'Scheme)
Sweet, I'll have to give that a go :)
Another option in browser land is lips[0], which exclusively targets a js backend.
-
All Web frontend lisp projects
For Scheme implementations there are LIPS and biwascheme. I haven't done more than play around with them, so I can't really give an informed opinion about pros and cons or favorites.
-
Extending a Language — Writing Powerful Macros in Scheme
Your example revealed a bug in my Scheme interpreter. This is an example that fails to match:
-
What other Scheme parser tricks do you know?
In my interpreter, LIPS Scheme, vector literal syntax is created using a syntax extension, a token that is mapped to a function or a macro. So you can use things like this:
-
How to list defined symbols?
I'm not sure about other Scheme interpreters but in my interpreter LIPS Scheme, there is (env) function that returns a list of symbols. You can also access environment objects e.g. (current-environment) return object that is used internally. And you can even access the scope chain because the env object has __parent__ property that returns the parent scope.
-
May I see some of your projects? :)
Few of my Open Source projects: * jQuery terminal * LIPS Scheme * Gaiman * Sysend * Wayne
-
Async / Await in Scheme
(define promise (--> '>(fetch "https://lips.js.org/") (then (lambda (res) (res.text))) (then (lambda (text) (. (text.match #/\s*([^>]+?)\s*<\/h1>/) 1)))))
-
Yes we are men. Men is what we are.
ngl when I first saw the headline my first thought was, “Wait, bring CAR into JavaScript? Make it a Lisp? But hasn't it already been done?”
-
If you were hired to create a new distribution of Lisp, what would you include?
Languages like Biwa Scheme and LIPS Scheme are good for running Scheme in the browser. But I would prefer compiling Scheme code to JavaScript in the server, then serving the compiled JavaScript image to the browser.
scheme-lsp-server
-
May 2021 - What are you up to schemers ?!
I've started working on a kind of portable LSP server: https://gitlab.com/rgherdt/scheme-lsp-server So far I'm focusing on Guile and Chicken. I'm also sketching a VSCode plugin for it: https://gitlab.com/rgherdt/vscode-scheme-lsp Currently it supports find-documentation, auto-completion, function-signature and jump-to-definition (this one Guile only). Last but not least, I've developed a JSON-RCP lib to support the whole thing: https://gitlab.com/rgherdt/scheme-json-rpc Everything is still experimental.
What are some alternatives?
biwascheme - Scheme interpreter written in JavaScript
vscode-scheme-lsp
murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
scheme-json-rpc
atbswp - A minimalist macro recorder
rheme - R4RS Scheme in 800 lines of Ruby
osmosis-js - JS reference implementation of Osmosis, a JSON data store with peer-to-peer background sync
spleeter-web - Self-hostable web app for isolating the vocal, accompaniment, bass, and drums of any song. Supports Spleeter, D3Net, Demucs, Tasnet, X-UMX. Built with React and Django.
mp4-inspector - A Web-based MP4 File Inspector. Powered by Rust, Vue and Web Assembly! :crab:
STklos - STklos Scheme
rust-starter - Rust Starter Project
ctl - My variant of the C Template Library