Commit graph

4527 commits

Author SHA1 Message Date
Justin Ethier
bab9acd49e Added c-compile-string 2018-11-20 18:07:29 -05:00
Justin Ethier
90c0d79887 Added TODO 2018-11-20 17:21:05 -05:00
Justin Ethier
16149d1492 Added failsafe 2018-11-20 13:23:10 -05:00
Justin Ethier
244f569df0 Properly handle quoted expressions 2018-11-19 18:52:11 -05:00
Justin Ethier
435bbb3a95 Revert debug code 2018-11-19 17:10:55 -05:00
Justin Ethier
4b0466f37b Use alloca for any allocations with let/local-vars
This prevents situations where local variables are allocated within local scope blocks and then are assigned to pointers. This is necessary as those locals are not guaranteed to remain on the stack once the block ends, so the pointer can easily point to random memory, leading to GC corruption and/or undefined behavior.
2018-11-19 17:09:17 -05:00
Justin Ethier
4863f0d4d1 Added a DEBUG line 2018-11-19 10:32:30 -05:00
Justin Ethier
8fa6513571 Fix parens 2018-11-14 19:01:34 -05:00
Justin Ethier
a06d2793c8 Do not accumulate free vars from our local (let)'s 2018-11-14 18:22:51 -05:00
Justin Ethier
ef647082e6 WIP 2018-11-13 19:05:28 -05:00
Justin Ethier
67071a1761 WIP 2018-11-13 18:02:12 -05:00
Justin Ethier
d40dc538d9 Closure convert (let) local values 2018-11-13 18:01:54 -05:00
Justin Ethier
c4f75486b6 Added TODO 2018-11-13 17:57:44 -05:00
Justin Ethier
bad0d19424 WIP 2018-11-13 17:17:30 -05:00
Justin Ethier
04a3bb6c60 Fix splicing of let body 2018-11-13 17:17:16 -05:00
Justin Ethier
8c033a7909 Added TODO 2018-11-13 13:37:03 -05:00
Justin Ethier
89e633db26 Added clarifying comments 2018-11-13 12:57:55 -05:00
Justin Ethier
cde576aaa3 Keep vars in local let's during closure convert 2018-11-12 18:28:49 -05:00
Justin Ethier
78b12779af Remove write 2018-11-12 17:07:24 -05:00
Justin Ethier
82f9909951 Fix (set!) 2018-11-12 17:06:35 -05:00
Justin Ethier
e31b357f4c WIP 2018-11-12 16:30:11 -05:00
Justin Ethier
732535ab2f Split in define bodies, enable debug traces 2018-11-12 16:19:13 -05:00
Justin Ethier
94694fdd9e Renamed file 2018-11-12 12:02:34 -05:00
Justin Ethier
e5a2969d92
Update CHANGELOG.md 2018-11-10 11:31:15 -05:00
Justin Ethier
e34f783224 Added file header 2018-11-10 07:18:47 -05:00
Justin Ethier
88bec243b8 Added TODO 2018-11-10 07:06:02 -05:00
Justin Ethier
d587397b23 Sync new file 2018-11-10 07:04:49 -05:00
Justin Ethier
d96314993d use new file 2018-11-10 07:03:37 -05:00
Justin Ethier
6f4900c0a0 Relocated file 2018-11-10 07:03:25 -05:00
Justin Ethier
925f4d983c Issue #280 - Working through how this should operate 2018-11-10 06:54:17 -05:00
Justin Ethier
8cbcf82121 Added a special (program) feature 2018-11-10 06:52:54 -05:00
Justin Ethier
74e56aeb2f Issue #280 - Cyc-add-feature! 2018-11-10 06:39:13 -05:00
Justin Ethier
7d52c4de35 Cleanup 2018-11-10 06:28:54 -05:00
Justin Ethier
c70c6f7338 First working version 2018-11-10 06:19:54 -05:00
Justin Ethier
ef2adcdb11 WIP 2018-11-10 05:55:49 -05:00
Justin Ethier
18c8fbf260 Removed limitations 2018-11-09 17:43:03 -05:00
Justin Ethier
d8b46a019a WIP 2018-11-09 17:28:49 -05:00
Justin Ethier
5cfcf88a37 Initial file 2018-11-09 17:13:09 -05:00
Justin Ethier
f29b482334 Relocated file 2018-11-09 17:04:51 -05:00
Justin Ethier
f95235f079 Note recent changes 2018-11-09 17:01:14 -05:00
Justin Ethier
70b1ac2e57 Revert experimental changes
These crash the earley benchmark
2018-11-09 15:41:55 -05:00
Justin Ethier
915ae74fe1 Issue #172 - Allow inline but check for (set!)'s first 2018-11-09 12:53:47 -05:00
Justin Ethier
b50d7360e0 Added opt flag 2018-11-09 11:01:54 -05:00
Justin Ethier
2ff11b1ace Experimental: remove unnecessary bignum code 2018-11-09 10:57:11 -05:00
Justin Ethier
a12ef15559 WIP - smarter inline analysis of vector-set 2018-11-07 18:08:09 -05:00
Justin Ethier
62a8110647 WIP 2018-11-07 13:36:25 -05:00
Justin Ethier
7cb714a387 Added notes 2018-11-03 22:27:55 -04:00
Justin Ethier
6da3367169 Do not sequence prims that call into conts 2018-11-01 18:24:43 -04:00
Justin Ethier
8aac3163af Cleanup, remove unused identifiers from sequences 2018-11-01 13:40:57 -04:00
Justin Ethier
5868cd448c Cleaner flattening now that code generation has been fixed 2018-11-01 13:20:20 -04:00