Justin Ethier
3b1f124b6a
Check for prim:cont when known function is called via k
2018-09-27 17:32:04 -04:00
Justin Ethier
0a9cd2a6b7
Well-known lambdas cannot be called from runtime
2018-09-27 15:57:51 -04:00
Justin Ethier
7a8c4e45f6
Check scope when finding known lambdas
...
Want to ensure a lambda is not used in another function other than the one we thought was calling it directly, because if this happens it will become part of a closure and is not directly "known".
2018-09-26 17:39:35 -04:00
Justin Ethier
e49a319ec6
Enable well-known-function code
2018-09-26 13:18:52 -04:00
Justin Ethier
31e99da295
Bugfix - swap when we use num-lambda
2018-09-26 12:25:08 -04:00
Justin Ethier
92fb2c176d
WIP
2018-09-26 11:10:49 -04:00
Justin Ethier
ea7f401e77
Use ast lambda ID's in C code
2018-09-25 18:43:18 -04:00
Justin Ethier
62145ea95a
Bugfix, forgot acc
2018-09-25 17:54:28 -04:00
Justin Ethier
bba1783a49
Added adb lambda id functions
2018-09-25 17:38:28 -04:00
Justin Ethier
cb9d143187
WIP
2018-09-25 17:42:19 -04:00
Justin Ethier
32c8ad1949
WIP, added TODO's
2018-09-25 17:12:26 -04:00
Justin Ethier
5df8fd92ed
Cleanup
2018-09-25 17:03:28 -04:00
Justin Ethier
bad93ae229
Temporarily disable well-known fnc changes
2018-09-25 12:38:30 -04:00
Justin Ethier
7be8fe8f9a
Added opt:renumber-lambdas!
2018-09-24 18:25:31 -04:00
Justin Ethier
edf3c0e87f
Use default value to prevent raising an error
2018-09-24 13:38:02 -04:00
Justin Ethier
a27a62d65b
Fix dereferencing closure from gc_ret fnc
2018-09-21 17:47:29 -04:00
Justin Ethier
6d35fb6fe7
Deref closure param
2018-09-21 13:32:36 -04:00
Justin Ethier
fe08c5ae96
Bug fixes
2018-09-21 13:22:05 -04:00
Justin Ethier
40a2131fef
Add a type check
2018-09-21 13:06:37 -04:00
Justin Ethier
ade50748b6
Only emit new return macro when clo can be omitted
2018-09-21 12:44:18 -04:00
Justin Ethier
cc5f14f63e
WIP
2018-09-21 12:24:54 -04:00
Justin Ethier
9e082f3c0c
WIP - emit gc ret functions
2018-09-21 11:59:41 -04:00
Justin Ethier
107f5ce75a
Pass appropriate lambda ID when compiling closure
2018-09-20 17:52:29 -04:00
Justin Ethier
3b0a6b2fd6
Added TODO
2018-09-20 13:19:08 -04:00
Justin Ethier
dd82dba750
Temporarily disable emitting new code
...
Need to debug lambda ID code first, before this change can hope to work.
2018-09-20 13:12:39 -04:00
Justin Ethier
b3e4a9feb6
Fix storing of all params
2018-09-20 12:16:32 -04:00
Justin Ethier
cb97cfbac7
WIP
2018-09-19 18:51:41 -04:00
Justin Ethier
b5248cb965
Set lambda args in adb
2018-09-19 18:35:09 -04:00
Justin Ethier
47da3d5be6
Added all-args to adbf
2018-09-19 17:45:22 -04:00
Justin Ethier
bd8e5cb1de
Added c-compile-closure-element-ref
2018-09-19 13:31:36 -04:00
Justin Ethier
7cb83e17d8
Pass enclosing lambda AST ID when compiling expr's
2018-09-19 13:24:04 -04:00
Justin Ethier
5d1ed67c48
WIP - emitting obj instead of closure
2018-09-18 18:51:59 -04:00
Justin Ethier
d0fccf44f8
Keep track of closure sizes
2018-09-18 17:50:17 -04:00
Justin Ethier
9c377cd872
Emit return_direct_with_clo when possible.
...
This speeds up compilation slightly but the real benefit (I hope) will be when we can leverage it to eliminate certain closures.
2018-09-17 13:12:15 -04:00
Justin Ethier
189728d571
Store cgen-id in the analysis DB
2018-09-16 18:54:31 -04:00
Justin Ethier
a9c5d5d268
WIP
2018-09-14 18:26:03 -04:00
Justin Ethier
6dfe91fdc6
Added cgen-id parameter
2018-09-14 18:20:08 -04:00
Justin Ethier
f461e26fa4
WIP - store allocated lambda id
2018-09-14 18:14:32 -04:00
Justin Ethier
d4e3c65ca7
Staging initial cgen changes
2018-09-14 18:06:50 -04:00
Justin Ethier
927856ec55
Export convenience functions
2018-09-14 18:00:19 -04:00
Justin Ethier
8eb447d11b
Added c-macro-return-direct-with-closure
2018-09-14 15:17:07 -04:00
Justin Ethier
8f7b785ec3
Additional debugging
2018-09-14 12:36:05 -04:00
Justin Ethier
dbd1e4799f
Integrate code for well-known lambdas
2018-09-14 12:07:34 -04:00
Justin Ethier
17213d94ac
Added a TODO
2018-09-12 17:41:44 -04:00
Justin Ethier
c9fd208a72
Added stub
2018-09-12 17:17:31 -04:00
Justin Ethier
d45c44388f
Allow AST to track well-known procedures
2018-09-12 17:01:24 -04:00
Justin Ethier
39e92c1be7
Added TODO
2018-09-12 13:33:47 -04:00
Justin Ethier
c4de5b057e
More ast lambda conversions
2018-09-11 17:34:04 -04:00
Justin Ethier
f8af9833e1
WIP
2018-09-11 12:47:58 -04:00
Justin Ethier
8b74b495fb
WIP
2018-09-07 17:39:10 -04:00