Justin Ethier
190c4a63fe
Revised 0.9.4 section
2018-11-23 22:06:41 -05:00
Justin Ethier
1145d1f8e2
Only generate a let if local var is used
...
If the variable is not used we will get a warning from the C compiler. So let's not generate a let unless the var is actually used.
We may want to revisit this later for a related optimization, maybe via Cyc-seq.
2018-11-23 21:46:51 -05:00
Justin Ethier
09f2f0412d
Added a note about let/local-var reductions
2018-11-23 12:06:23 -05:00
Justin Ethier
729c0d4025
Add check for CPS prims
2018-11-22 23:15:12 -05:00
Justin Ethier
07683bf273
Fixup alloca_list macros, we don't want the & ops
2018-11-22 18:44:18 -05:00
Justin Ethier
931b449579
Extra cases for prim use-alloca and & operator
2018-11-22 17:40:46 -05:00
Justin Ethier
b0e6c42eb1
Added prim->c-func-uses-alloca?
2018-11-22 17:33:06 -05:00
Justin Ethier
1f1b032641
Support alloca for all literals
2018-11-21 19:19:00 -05:00
Justin Ethier
e63349b830
Remove debug code
2018-11-21 19:13:32 -05:00
Justin Ethier
7a1b28db37
WIP
2018-11-21 19:08:45 -05:00
Justin Ethier
03b2dd7181
WIP
2018-11-21 18:53:50 -05:00
Justin Ethier
b0d599c0de
Added alloca_empty_vector
2018-11-21 18:53:42 -05:00
Justin Ethier
ab4f9ee7a4
WIP - alloca support for literals
2018-11-21 13:05:29 -05:00
Justin Ethier
765f6ffd8d
Added new alloca macros
2018-11-21 13:04:43 -05:00
Justin Ethier
16e1600662
Propagate use-alloca parameter for constants
2018-11-20 18:54:47 -05:00
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