Justin Ethier
2c9e9e7a39
Allow local vars to shadown primitives
2018-01-19 16:45:44 -05:00
Justin Ethier
183b3c5eb2
Additional safety check for empty env
2018-01-19 11:56:10 -05:00
Justin Ethier
338c195e81
Keep local renames with define-syntax and letrec-syntax macros
2018-01-18 18:41:07 -05:00
Justin Ethier
bf9591c451
Basic way to preserve local env within macro
2018-01-18 13:26:48 -05:00
Justin Ethier
144c5845fc
Fixes for renaming local bindings
...
Still need to associate them with a macro
2018-01-16 19:46:16 -05:00
Justin Ethier
435fefe6d0
WIP
2018-01-17 17:50:45 -05:00
Justin Ethier
32361ddced
Added a TODO
2018-01-17 16:53:23 -05:00
Justin Ethier
6c456ff10d
WIP
2018-01-15 19:02:54 -05:00
Justin Ethier
d549722cc4
WIP
2018-01-15 18:05:16 -05:00
Justin Ethier
12d16dfbbe
Cleanup from previous changes, added missing args
2018-01-15 12:53:16 -05:00
Justin Ethier
910662135b
WIP
2018-01-14 18:53:29 -05:00
Justin Ethier
d12b628657
Added TODO's
2018-01-13 18:47:50 -05:00
Justin Ethier
7d7ae2e89e
Cleanup, removed dead code
2017-12-17 18:44:37 -05:00
Justin Ethier
aa77252310
Use a-env as backing env for letrec-syntax
2017-12-16 18:46:26 -05:00
Justin Ethier
ee7cf5a435
Removed dead code
2017-12-15 18:31:44 -05:00
Justin Ethier
c404a6b588
Working letrec-syntax
...
Need to understand a bit more why this works, though...
2017-12-15 18:10:28 -05:00
Justin Ethier
4ea55e062a
WIP
2017-12-15 14:17:54 -05:00
Justin Ethier
9817ecd465
WIP
2017-12-14 19:04:15 -05:00
Justin Ethier
dcc49baa3b
WIP, enabled debugging for diagnostic
2017-12-13 19:12:13 -05:00
Justin Ethier
4eaa61c0a4
Partially-working version of letrec-syntax
2017-12-12 19:03:45 -05:00
Justin Ethier
b283c50341
Placeholders for letrec-syntax
2017-12-12 18:13:19 -05:00
Justin Ethier
55b112afbd
WIP
2017-12-12 14:19:10 -05:00
Justin Ethier
5adf35a364
Allow eval to handle syntax-rules
2017-12-08 12:56:55 -05:00
Justin Ethier
23e67294ec
Handle renamed syntax-rules when expanding define-syntax
2017-12-07 12:41:03 -05:00
Justin Ethier
f40232e9eb
Removed debug traces
2017-12-06 17:59:49 -05:00
Justin Ethier
b2e9524e70
Handled renamed syntax-rules during macro expansion
2017-12-06 17:55:49 -05:00
Justin Ethier
a8527380a6
Re-enabled debugging
2017-12-01 16:11:14 -05:00
Justin Ethier
dd4b7243e0
Disable debugging
2017-12-01 13:15:53 -05:00
Justin Ethier
046c1f9d22
WIP, able to expand some let-syntax now
...
Still is debugging here though, needs lots of cleanup
2017-12-01 11:56:07 -05:00
Justin Ethier
18eed21246
WIP, added debugging
2017-11-30 19:02:15 -05:00
Justin Ethier
aadd07943b
Added TODO's
2017-11-30 16:40:06 -05:00
Justin Ethier
6441ce9409
Relocated macro expansion code
2017-11-28 18:46:48 -05:00
Justin Ethier
b52119f2cd
Import prim module
2017-11-28 16:36:08 -05:00
Justin Ethier
c5271f05fe
Relocating code
2017-11-27 18:52:13 -05:00
Justin Ethier
d65e7428b9
Issue #202 - Allow -A / -I options for icyc
2017-07-01 17:56:09 -04:00
Justin Ethier
75b9e7bf8a
Explicit inlines
2017-04-29 01:18:39 +00:00
Justin Ethier
e469f4d5a6
Added (imported?)
2017-04-26 17:22:33 -04:00
Justin Ethier
205905a629
Cleanup
2017-03-28 11:12:01 +00:00
Justin Ethier
4dd72a876c
Load unloaded or explicitly imported libs
2017-03-28 10:14:02 +00:00
Justin Ethier
ee48b908e2
Debugging
2017-03-27 19:02:54 -04:00
Justin Ethier
793e4e1426
Cleanup, do not import loaded libraries
2017-03-28 04:45:24 -04:00
Justin Ethier
6d85b83240
WIP
2017-03-28 01:19:20 -04:00
Justin Ethier
435d15d2f4
Cleanup, adding TODO's
2017-03-24 17:37:04 +00:00
Justin Ethier
a36d68a323
Initial support for (import) in eval
2017-03-23 18:53:24 -04:00
Justin Ethier
0cbcadc382
Added (%import)
2017-03-23 18:33:36 -04:00
Justin Ethier
8c55370b5d
Adding import capability to eval
2017-03-23 13:51:42 +00:00
Justin Ethier
e636f40f99
Revert memq, memv, assq, assv back to primitives
2016-10-17 23:42:53 -04:00
Justin Ethier
ba1d1e87e6
Allow ER define-syntax from eval
2016-09-26 21:02:01 -04:00
Justin Ethier
29b49a371a
WIP
2016-09-23 19:00:24 -04:00
Justin Ethier
796d5f9e0a
Get macros to work by adding a rename env
...
Each macro will use its own use environment to rename macros, but a common environment will be used by all macro expansions (and after the last expansion) to map any renamed free variables back to the expected symbol.
2016-09-20 17:32:26 -04:00