reagents
ocaml-jupyter
reagents | ocaml-jupyter | |
---|---|---|
2 | 3 | |
126 | 282 | |
-0.8% | - | |
4.4 | 4.7 | |
12 months ago | 3 months ago | |
OCaml | OCaml | |
ISC License | MIT License |
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.
reagents
-
Transputer.net
The 1978 paper proposes a reasonable set of primitives and then walks through prose examples with them. The book proposes roughly the same primitives (channels are the big change, but stop is barely in the paper) and describes them in a formal notation for state machines. It's the difference between a sketch of a plausible idea and writing down the mathematics.
Related though much later, ocaml https://github.com/ocaml-multicore/reagents observed that the send/recv primitives make less sense than a swap primitive. Between occam and the current ocaml effort, concurrent ML is the same sort of model with the details really well thought through (e.g. a thread executing stop gets garbage collected).
-
OCaml 5.0 Multicore is out
Still early days, but I had done some exploratory work in the past on Reagents, a composable lock-free library [1]. Now that OCaml 5 is released, we're reviving this work.
It's semantics is weaker than STM -- unlike STM, it doesn't provide serializability but Reagents can compile down to multi-word compare and swap operations, which can be implemented with the help of hardware transactions (when present) or efficient software implementations of it [2]. Hence, Reagent programs should be faster than STM.
[1] https://github.com/ocaml-multicore/reagents
ocaml-jupyter
- OCaml 5.0 Multicore is out
- Come aggiungere kernel ocaml a Jupyter Notebook?
-
Choices for online Ocaml?
Here's an ocaml kernel for jupyter notebooks: https://github.com/akabe/ocaml-jupyter. You could feasibly get this up and running on some jupyter platform online!
What are some alternatives?
rescript-webapi - ReScript bindings to the DOM and other Web APIs
gotty - Share your terminal as a web application
learn-ocaml - A Web Application for Learning OCaml
template-nix - The nix template, configured for Gitpod (www.gitpod.io) to give you pre-built, nix based ephemeral development environments in the cloud.
best-of-jupyter - 🏆 A ranked list of awesome Jupyter Notebook, Hub and Lab projects (extensions, kernels, tools). Updated weekly.
Functional-Programming-Techniques-In-Python - Exploring functional centric designs and patterns in Python
cloudmacs - Selfhost your Emacs and access it in browser
coda - Mina is a new cryptocurrency with a constant size blockchain, improving scaling while maintaining decentralization and security. [Moved to: https://github.com/MinaProtocol/mina]
docker-ocaml-jupyter - Minimum Docker image for OCaml Jupyter
ML-Workspace - 🛠 All-in-one web-based IDE specialized for machine learning and data science.
ocaml4noobs - Tutorial de OCaml para iniciantes na Linguagem.
coq - Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs.