eopl3
frog
Our great sponsors
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.
eopl3
-
How to get started?
I've been going through the book myself using Haskell and it's been a blast. I recently completed Chapter 5 and here's some of what I learned to implement along the way: a CPS (Continuation-passing style) interpreter, how to add support for continuations, trampolining, how to use CPS to add support for exceptions and threads. Here are the various interpreters: https://github.com/dwayne/eopl3/tree/master/solutions/05-ch5/interpreters/haskell.
frog
What are some alternatives?
compiler - an incomplete toy barebones compiler backend for amd64 x86_64 in Python and an incomplete JIT compiler written in C
scribble
typed-racket - Typed Racket
mediKanren - Proof-of-concept for reasoning over the SemMedDB knowledge base, using miniKanren + heuristics + indexing.
racket-rash - The Reckless Racket Shell
denxi - Denxi is a programming model for distributing data. It reduces the cost of producing package managers, storefronts, operating systems, and CI/CD systems.
racketscript - Racket to JavaScript Compiler
gui
pollen - book-publishing system [mirror of main repo at https://git.matthewbutterick.com/mbutterick/pollen]
multiversion-concurrency-control - Implementation of multiversion concurrency control, Raft, Left Right concurrency Hashmaps and a multi consumer multi producer Ringbuffer, concurrent and parallel load-balanced loops, parallel actors implementation in Main.java, Actor2.java and a parallel interpreter
racket-langserver