Files
rlp/README.md
2023-12-01 10:34:54 -07:00

1.4 KiB

rlp

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

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