2023-12-01 10:42:25 -07:00
2023-11-30 14:08:19 -07:00
2023-11-30 13:45:54 -07:00
2023-11-30 14:08:19 -07:00
2023-11-08 12:41:46 -07:00
2023-11-14 09:20:25 -07:00
2023-12-01 10:42:25 -07:00
2023-11-30 14:08:19 -07:00

rl'

rlp (ruelang') will be a lazily-evaluated purely-functional language heavily imitating Haskell.

Build Info

$ cabal build       # build the rlpc compiler
$ cabal install     # install rlpc to $PATH
$ cabal haddock     # build the API docs w/ haddock
$ make -C docs html # build the primary docs w/ sphinx

Potential Features

Listed in order of importance.

  • ADTs
  • First-class functions
  • Higher-kinded types
  • Typeclasses
  • Parametric polymorphism
  • Hindley-Milner type inference
  • Newtype coercion
  • Parallelism

Milestones

(This list is incomplete.)

  • Backend
    • Core language
      • AST
    • Low-level execution model (TI)
      • Arithmetic
      • Conditionals
      • Garbage Collection
    • Low-level execution model (GM)
      • Arithmetic
      • Conditionals
      • Garbage Collection
    • Emitter
      • Code-gen (target yet to be decided)
      • Core language emitter
    • Core linter (Type-checker)
    • Optimisation pass
      • Let-floating
      • TCO
      • DCE
  • Frontend
    • High-level language
      • AST
      • Lexer
      • Parser
    • Translation to the core language
      • Constraint solver
      • do-notation
    • CLI
  • Documentation (mostly for presentation)
    • State transition rules
    • How does the evaluation model work?
    • CLI usage
    • Tail call optimisation
    • Parsing rlp
  • Tests
    • Generic example programs
    • Parser
Description
No description provided
Readme 2.5 MiB
Latest
2024-02-16 14:20:14 -07:00
Languages
Haskell 83.8%
Yacc 10.7%
Logos 5.5%