Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
lbForth
Self-hosting metacompiled Forth, bootstrapping from a few lines of C; targets Linux, Windows, ARM, RISC-V, 68000, PDP-11, asm.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
When it comes to lisps, there is "Build Your Own Lisp" which also teaches you C and is a bit quicker paced than crafting interpreters (buildyourownlisp.com) and Make A Lisp (https://github.com/kanaka/mal) which has tons of implementations in many languages, for your taste.
Depending on what you are trying to accomplish by writing "a language", extending an existing language or making a syntactically-different language that compiles to an existing language can be both fast and rewarding. For example, I made https://github.com/8byt/gox in a couple days with no prior language-design experience (gox is to Go as JSX is to Javascript).
Indeed. See Jones Forth in 160 lines of Aarch64 asm.
BASIC interpreter in 512 bytes of 8086 asm
Lisp interpreter in 262 lines of C
Scheme compiler in 60 lines of C and 239 lines of Scheme bootstrapped from an interpreter in 273 lines of Haskell
Forth compiler in 159 lines of Lisp and C