Commit graph

122 commits

Author SHA1 Message Date
Théophile Bastian 251bfd4b7d Fix multi_args.lambda 2018-02-16 18:04:34 +01:00
Théophile Bastian 0939615350 Use shared tests 2018-02-16 17:58:30 +01:00
Théophile Bastian b0cd872baf Make NotValue more explicit 2018-02-16 15:43:01 +01:00
Théophile Bastian 3ca59d6975 Add test for redefinition of variables 2018-02-16 15:42:47 +01:00
Théophile Bastian 63f8b6b61a VarVarBind: add missing cleaning sub-calls 2018-02-16 15:10:03 +01:00
Théophile Bastian b1e82638b2 VarVarBind: fix non-transitivity 2018-02-16 15:01:06 +01:00
Théophile Bastian 0a4d788513 Fix unix permissions for exp test files 2018-02-16 13:11:43 +01:00
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
Théophile Bastian 10ef4c6074 Remove var-var bindings after defun 2018-02-16 02:45:40 +01:00
Théophile Bastian 2319414786 Fix rec_fibo's syntax — now works perfectly 2018-02-16 02:06:45 +01:00
Théophile Bastian a67b0ee1c3 Add two passing tests 2018-02-16 01:58:24 +01:00
Théophile Bastian 450595ab57 Add complicated recursion and nesting -- fail 2018-02-16 01:40:23 +01:00
Théophile Bastian c84a1ac169 Fix: recursive functions correctly defunctionalized 2018-02-16 01:29:01 +01:00
Théophile Bastian 29a2ef43a1 Fix: self is no longer considered free var
For recursive functions, the self-reference was considered a free
variable wrt. defunctionalization
2018-02-16 01:13:06 +01:00
Théophile Bastian 6f75134474 Add test rec_factorial (computes 7!) -- fails 2018-02-16 01:09:21 +01:00
Théophile Bastian ca790364b6 Add test if_func_branch 2018-02-16 00:59:39 +01:00
Théophile Bastian faa31d90dd Add test if_func 2018-02-16 00:56:35 +01:00
Théophile Bastian 7c6e2e390e Fix C code production, add ifzero basic test 2018-02-16 00:52:07 +01:00
Théophile Bastian 3141ce6fde Implement IfZero everywhere, untested 2018-02-16 00:43:44 +01:00
Théophile Bastian 2a65d41cd8 Add IfZero construct to lexer + parser 2018-02-16 00:21:29 +01:00
Théophile Bastian 7bc7921fc3 Add IfZero in the syntax + placeholders
Also add (* TODO ifzero *) all around as placeholders
2018-02-16 00:19:44 +01:00
Théophile Bastian b00976d359 Fix scope error in CPS application 2018-02-15 22:43:15 +01:00
Théophile Bastian 38148932f7 Fix pretty printer line breaks at toplevel 2018-02-15 22:28:26 +01:00
Théophile Bastian 324e32c15e Add option --light-debug 2018-02-15 22:19:14 +01:00
Théophile Bastian 6c5580d550 Explicit exit continuation's name 2018-02-15 22:02:04 +01:00
Théophile Bastian 2643118045 Add pretty printer for Top 2018-02-15 22:01:46 +01:00
Théophile Bastian 67701ea721 Refactor PrettyTail parts into PrettyCommon 2018-02-15 22:01:14 +01:00
Théophile Bastian 3262846faf Add human-readable pretty printer for Tail 2018-02-15 21:26:15 +01:00
Théophile Bastian 4ec822cfda Add test simple_call 2018-02-15 19:46:16 +01:00
Théophile Bastian 438a875cea Attempt to have better variable names in CPS 2018-01-29 15:46:53 +01:00
Théophile Bastian 4419abf57d Fix free vars of a lambda in Defun 2018-01-29 15:46:34 +01:00
Théophile Bastian 2e5e691cfe First try for defun, produces bad code
Block variables accessed out of scope
2018-01-22 12:29:59 +01:00
Théophile Bastian d0ff07998f Prevent IDs in variables from being trimmed 2018-01-18 16:03:29 +01:00
Théophile Bastian 6619941770 First attempt to implement CPS naively 2018-01-17 17:15:23 +01:00
Théophile Bastian 3b5c4cb996 Keep only project-related files; reroot to project/ 2017-12-19 13:35:04 +01:00
Théophile Bastian a6a49201be Merge remote-tracking branch 'upstream/master' 2017-12-19 13:34:12 +01:00
Théophile Bastian 8ea0250e67 Initial commit 2017-12-19 13:30:32 +01:00
REMY Didier 6055421bdc Merge branch 'master' of gitlab.inria.fr:fpottier/mpri-2.4-public 2017-12-19 09:55:27 +01:00
REMY Didier 407f13862b Partiel 2017 2017-12-19 09:55:02 +01:00
François Pottier 00ebc63544 Rename projet to project. 2017-12-13 14:10:41 +01:00
François Pottier 36df95f02f Makefile. 2017-12-13 14:09:19 +01:00
François Pottier 4de6bf8544 README update. 2017-12-13 14:08:29 +01:00
François Pottier 19ff31e4c9 Publish the project. 2017-12-13 14:04:28 +01:00
Yann Regis-Gianas 0ee19236b0 Slides cours YRG-1. 2017-12-13 10:26:29 +01:00
Yann Regis-Gianas ea28092e57 Update part 3 syllabus. 2017-12-01 09:50:28 +01:00
REMY Didier 61142fa289 12<-1 2017-11-29 16:28:14 +01:00
REMY Didier 20664156ac Remove pointer to my own page. 2017-11-23 18:06:30 +01:00
REMY Didier f36225d1f5 Correction de l'ancre pour l'examen de 2010 2017-11-14 16:46:09 +01:00
REMY Didier ade3a69b24 Removing comment 2017-11-10 08:10:59 +01:00