Lil' Fun Langs(taylor.town)
81 points by surprisetalk 5 hours ago | 6 comments
taolson 19 minutes ago
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.

https://github.com/taolson/Admiran

dunham 3 hours ago
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

https://github.com/dunhamsteve/newt

taolson 28 minutes ago
Either newt was already in the list, or it got added. We talked a bit about using our languages for AoC 2024 -- looks like you've been keeping busy working on it!
ecto 1 hour ago
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]]
grimgrin 1 hour ago
idk how I haven't crossed a lisp with square brackets but dang I am sorta stunned at how I've never even envisioned it? thanks
mlajtos 4 hours ago
Fluent – 4K lines – including parser, interpreter, standard library, IDE, UI, docs, examples. Will grow though.

https://github.com/mlajtos/fluent/blob/main/client.tsx

surprisetalk 4 hours ago
I'll add it! Thanks.

EDIT: Actually, it's not quite "ML-family" enough for this post. But it is a remarkably cool project! :)

solomonb 3 hours ago
If you're accepting additions here is a fun one some friends and I did as experiment at the Topos Institute: https://github.com/ToposInstitute/polytt

And here is a set of single file lambda calculus implementations with a variety of extensions: https://github.com/solomon-b/lambda-calculus-hs

`polytt` is kind of an ended experiment but that lambda calculus repo i plan to extend in the near future.

lachlan_gray 2 hours ago
Another crazy one is SectorLISP, 223 lines of asm

https://justine.lol/sectorlisp2/

nimbus-hn-test 3 hours ago
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.