Lil' Fun Langs
80 points - today at 5:34 PM
SourceComments
taolson today at 10:59 PM
Don't know if my language is considered Lil' enough for this, but it's a pure, lazy functional language based upon Miranda (progenitor language to Haskell) that compiles to x86-64 asm. ~6700 SLOC for the (self-hosted!) compiler, and ~3300 SLOC additional for the extensive library of functional data structures and functions.
dunham today at 7:45 PM
My little language Newt is 7 kloc. Dunno if it's worth including, it's mostly an exercise to learn how these things work and is not as polished as I'd like.
- Self-hosted
- Compiles to javascript
- Bidirectional typechecking with NbE (based on elaboration zoo)
- Dependent type checking
- type classes
- ADTs with dependent pattern matching
- TCO (trampoline for mutually tail recursive functions)
- Erasure of compile-time only values (0, ω quantities, but not linear)
- Web playground
- LSP (added this month)
- Syntax is similar to Agda / Idris / Haskell
ecto today at 9:40 PM
loon is a lisp! https://github.com/ecto/loon
[type Shape
[Circle Float]
[Rect Float Float]]
[fn area [s]
[match s
[Circle r] => [* 3.14 r r]
[Rect w h] => [* w h]]]
[area [Circle 5.0]]mlajtos today at 6:37 PM
Fluent – 4K lines – including parser, interpreter, standard library, IDE, UI, docs, examples. Will grow though.
lachlan_gray today at 9:12 PM
Another crazy one is SectorLISP, 223 lines of asm
nimbus-hn-test today at 7:38 PM
The hardest part with small languages isn't the parser, it's the standard library and error messages. Getting a helpful IDE experience in that footprint is a significant engineering challenge.