Compare commits

...

2 commits

Author SHA1 Message Date
Théophile Bastian 5c6f538f9e Add a test for partial evaluation
This is mostly in case I actually implement better functions of arity
>1, but forget to add this test.
2018-02-16 02:58:08 +01:00
Théophile Bastian 9a1b6fb177 Update what's done and to do
Brief list from the top of my head, nothing binding nor exhaustive
2018-02-16 02:55:12 +01:00
3 changed files with 21 additions and 0 deletions

View file

@ -2,3 +2,17 @@
MPRI Functional Programming project, whose subject can be found
[here](https://gitlab.inria.fr/fpottier/mpri-2.4-public/blob/master/project/sujet.pdf)
## Features checklist
* Performs CPS
* Performs defunctionalization
* Pretty-prints nicely intermediary languages
* Removes var-var bindings
## Wish list
* Perform an intelligent CPS transform (many continuations aren't actually even
remotely needed at the moment)
* Handle correctly functions of arity > 1 (WARNING, cannot partially evaluate a
function in C)

View file

@ -0,0 +1,2 @@
42
42

View file

@ -0,0 +1,5 @@
let sum = fun x -> fun y -> fun z -> x + y + z in
let plus2 = sum 1 1 in
let _ = print (sum 30 10 2) in
print (plus2 40)