|
58cc468ca3
|
Clean unused values from pattern matching
|
2018-02-16 18:31:35 +01:00 |
|
|
a194e327d0
|
Properly handle binary operators
|
2018-02-16 18:31:35 +01:00 |
|
|
dd3c7e6786
|
Light CPS: cleaner error when lightening non-value
|
2018-02-16 18:31:35 +01:00 |
|
|
804f2e7c5b
|
Light CPS: implement lambdas
|
2018-02-16 18:31:35 +01:00 |
|
|
a7f19221d0
|
Lighter CPS: first tentative version
Try to lighten the CPS transformation, using fewer continuations when
there is no need for one
|
2018-02-16 18:31:35 +01:00 |
|
|
0663d7fa10
|
Use shared tests repository instead of src/tests
|
2018-02-16 18:27:02 +01:00 |
|
|
86b097171e
|
Update tests_shared
|
2018-02-16 18:05:17 +01:00 |
|
|
251bfd4b7d
|
Fix multi_args.lambda
|
2018-02-16 18:04:34 +01:00 |
|
|
0939615350
|
Use shared tests
|
2018-02-16 17:58:30 +01:00 |
|
|
b0cd872baf
|
Make NotValue more explicit
|
2018-02-16 15:43:01 +01:00 |
|
|
3ca59d6975
|
Add test for redefinition of variables
|
2018-02-16 15:42:47 +01:00 |
|
|
63f8b6b61a
|
VarVarBind: add missing cleaning sub-calls
|
2018-02-16 15:10:03 +01:00 |
|
|
b1e82638b2
|
VarVarBind: fix non-transitivity
|
2018-02-16 15:01:06 +01:00 |
|
|
0a4d788513
|
Fix unix permissions for exp test files
|
2018-02-16 13:11:43 +01:00 |
|
|
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 |
|
|
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 |
|
|
10ef4c6074
|
Remove var-var bindings after defun
|
2018-02-16 02:45:40 +01:00 |
|
|
2319414786
|
Fix rec_fibo's syntax — now works perfectly
|
2018-02-16 02:06:45 +01:00 |
|
|
a67b0ee1c3
|
Add two passing tests
|
2018-02-16 01:58:24 +01:00 |
|
|
450595ab57
|
Add complicated recursion and nesting -- fail
|
2018-02-16 01:40:23 +01:00 |
|
|
c84a1ac169
|
Fix: recursive functions correctly defunctionalized
|
2018-02-16 01:29:01 +01:00 |
|
|
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 |
|
|
6f75134474
|
Add test rec_factorial (computes 7!) -- fails
|
2018-02-16 01:09:21 +01:00 |
|
|
ca790364b6
|
Add test if_func_branch
|
2018-02-16 00:59:39 +01:00 |
|
|
faa31d90dd
|
Add test if_func
|
2018-02-16 00:56:35 +01:00 |
|
|
7c6e2e390e
|
Fix C code production, add ifzero basic test
|
2018-02-16 00:52:07 +01:00 |
|
|
3141ce6fde
|
Implement IfZero everywhere, untested
|
2018-02-16 00:43:44 +01:00 |
|
|
2a65d41cd8
|
Add IfZero construct to lexer + parser
|
2018-02-16 00:21:29 +01:00 |
|
|
7bc7921fc3
|
Add IfZero in the syntax + placeholders
Also add (* TODO ifzero *) all around as placeholders
|
2018-02-16 00:19:44 +01:00 |
|
|
b00976d359
|
Fix scope error in CPS application
|
2018-02-15 22:43:15 +01:00 |
|
|
38148932f7
|
Fix pretty printer line breaks at toplevel
|
2018-02-15 22:28:26 +01:00 |
|
|
324e32c15e
|
Add option --light-debug
|
2018-02-15 22:19:14 +01:00 |
|
|
6c5580d550
|
Explicit exit continuation's name
|
2018-02-15 22:02:04 +01:00 |
|
|
2643118045
|
Add pretty printer for Top
|
2018-02-15 22:01:46 +01:00 |
|
|
67701ea721
|
Refactor PrettyTail parts into PrettyCommon
|
2018-02-15 22:01:14 +01:00 |
|
|
3262846faf
|
Add human-readable pretty printer for Tail
|
2018-02-15 21:26:15 +01:00 |
|
|
4ec822cfda
|
Add test simple_call
|
2018-02-15 19:46:16 +01:00 |
|
|
438a875cea
|
Attempt to have better variable names in CPS
|
2018-01-29 15:46:53 +01:00 |
|
|
4419abf57d
|
Fix free vars of a lambda in Defun
|
2018-01-29 15:46:34 +01:00 |
|
|
2e5e691cfe
|
First try for defun, produces bad code
Block variables accessed out of scope
|
2018-01-22 12:29:59 +01:00 |
|
|
d0ff07998f
|
Prevent IDs in variables from being trimmed
|
2018-01-18 16:03:29 +01:00 |
|
|
6619941770
|
First attempt to implement CPS naively
|
2018-01-17 17:15:23 +01:00 |
|
|
3b5c4cb996
|
Keep only project-related files; reroot to project/
|
2017-12-19 13:35:04 +01:00 |
|
|
a6a49201be
|
Merge remote-tracking branch 'upstream/master'
|
2017-12-19 13:34:12 +01:00 |
|
|
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 |
|