Lil' Fun Langs

(taylor.town)

77 points | by surprisetalk 5 hours ago ago

8 comments

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

  • ecto an hour ago 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 an hour ago 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 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 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! :)

  • lachlan_gray 2 hours ago ago

    Another crazy one is SectorLISP, 223 lines of asm

    https://justine.lol/sectorlisp2/

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