Skip to content

Commit

Permalink
Update metadata for release
Browse files Browse the repository at this point in the history
  • Loading branch information
hurryabit committed Jan 13, 2018
1 parent 7639078 commit 67ac944
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 10 deletions.
32 changes: 31 additions & 1 deletion HISTORY
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,34 @@ Possible optimizations:
* static stack analysis
* peephole optimization of G-code
* batching of allocation checks
* ...
* ...


v0.0.2: 2018-01-13

New language features:
* user defined algbebraic data types
* nested pattern matching for algebraic data types
* simple input function for integers
* higher kinded polymorphism
* polymorphic recursion for top level functions

Changes to compiler components:
* type inferencer outputs System F
* every stage after type inference is type checked in System F
* use of type safe de Bruijn indices almost everywhere

New examples:
* tree sort
* range minimum query
* fixed point of functors
* several expextation tests

New optimizations:
* E and R compilation schemes from SPJ's book
* peephole optimizer

Next steps:
* bounded polymorphism
* row polymorphism
* an effect system
13 changes: 4 additions & 9 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
Everywhere:
* Handle builtins and prelude in a better way

Lambda Lifter:
* Generate a list of super combinators and one start symbol
* Try eta lifting on super combinators to potentially end up with an "alias"
* Replace "aliases" by their definition

GCode Generator:
* Eliminate dead code
* Bounded polymorphism via type classes
* A record system based on row polymorphism
* An effect system
* Use GRIN as the intermediate language rather than GCode

0 comments on commit 67ac944

Please sign in to comment.