Files
rlp/README.md
2023-11-15 08:10:53 -07:00

1.1 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 evaluation model (STG)
      • Syntax
      • Arithmetic
    • Emitter
      • Code-gen (target yet to be decided)
      • Core language emitter
    • Core linter (Type-checker)
    • Optimiser
      • Let-floating
      • TCO
  • 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 an STG work?
    • CLI usage
    • Tail-calls