utop
LIPS
utop | LIPS | |
---|---|---|
6 | 39 | |
826 | 387 | |
0.6% | 2.1% | |
6.1 | 9.9 | |
22 days ago | 5 days ago | |
OCaml | JavaScript | |
GNU General Public License v3.0 or later | 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.
utop
-
Statically typed language where I can print anything easily?
You can also (and should!) familiarize yourself with utop. From utop, you can see the types of just about anything.
- utop: Universal toplevel for OCaml
- Best REPL for a language
-
#quit;; to quit is unintuitive, so it should be suggested if a user types quit
You should probably file a ticket on the utop repo rather than mentioning it here: https://github.com/ocaml-community/utop
-
My adventures in ML Land
To write OCaml code, I sat up Neovim by following this guide. For my repl needs, I used Utop. Whenever I needed to insert multiple lines, I used Utop's $editor integration which could be opened by C-x C-e.
-
Tips for CSci 2041
I'm going to leave this here. It's a great toplevel for OCaml.
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.
[0] https://lips.js.org
-
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.
What are some alternatives?
Pipefish - Source code for the Pipefish programming language
scheme-lsp-server
base - Standard library for OCaml
biwascheme - Scheme interpreter written in JavaScript
ocaml-containers - A lightweight, modular standard library extension, string library, and interfaces to various libraries (unix, threads, etc.) BSD license.
murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
CSharpRepl - A command line C# REPL with syntax highlighting – explore the language, libraries and nuget packages interactively.
atbswp - A minimalist macro recorder
opam-tools - opam plugin to initialise a local development environment for an OCaml project
osmosis-js - JS reference implementation of Osmosis, a JSON data store with peer-to-peer background sync
Charm-MacOS - MacOS executable for Charm
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.