1fc45b70b40a81933b443443dbd420c77e783baf
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 doc html # Build the primary docs w/ Sphinx
# run the test suite
$ cabal test --test-show-details=direct
Use
# Compile and evaluate examples/factorial.hs, with evaluation info dumped to stderr
$ rlpc -ddump-eval examples/factorial.hs
# Compile and evaluate t.hs, with evaluation info dumped to t.log
$ rlpc -ddump-eval -l t.log t.hs
# Print the raw structure describing the compiler options and die
# (option parsing still must succeed in order to print)
$ rlpc -ddump-opts t.hs
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
- Structured data
- Garbage collection
- Low-level execution model (GM)
- Arithmetic
- Conditionals
- Structured data
- Garbage Collection
- Emitter
- Code-gen (target yet to be decided)
- Core language emitter
- Core linter (Type-checker)
- Core2Core pass
- GM prep
- Non-strict case-floating
- Let-floating
- TCO
- DCE
- GM prep
- Core language
- Frontend
- High-level language
- AST
- Lexer
- Parser
- Translation to the core language
- Constraint solver
do-notation
- CLI
- High-level language
- Documentation
- State transition rules
- How does the evaluation model work?
- CLI usage
- Tail call optimisation
- Parsing rlp
- Tests
- Generic example programs
- Parser
December Release Plan
- Tests
- Core lexer
- Core parser
- Evaluation model
- Benchmarks
- Stable Core lexer
- Stable Core parser
- Stable evaluation model
- Garbage Collection
- Stable documentation for the evaluation model
Description
Releases
2
Languages
Haskell
83.8%
Yacc
10.7%
Logos
5.5%