Commit graph

172 commits

Author SHA1 Message Date
Justin Ethier
7b927d8b35 Added collect-opt-values 2017-01-31 17:03:28 -05:00
Justin Ethier
66993ebce5 Issue #43 - Add -O0 to disable optimizations
This is the first step to being able to specify optimization level from the command line. This will be more important as more optimizations are added and when (if) some of them are not always safe to apply.
2016-11-11 17:19:04 -05:00
Justin Ethier
001e1e4493 Append code in same order as the library's includes 2016-10-12 22:36:01 -04:00
Justin Ethier
7b441dcfcf Change rename env to a local instead of a global 2016-09-21 17:25:36 -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
Justin Ethier
d2019bb284 WIP 2016-09-16 19:19:25 -04:00
Justin Ethier
c1451e26ae Externalize gcc commands 2016-07-29 17:56:28 -04:00
Justin Ethier
089a64d290 Replace (macro?) with (Cyc-macro?) 2016-07-14 22:29:58 -04:00
Justin Ethier
a6c3e4818a Prevent segfault if invalid args are given. 2016-06-30 21:44:03 -04:00
Justin Ethier
308bba3c9b Removed dead code, consolidated comments 2016-05-19 23:33:39 -04:00
Justin Ethier
cfc875f01f Interface to new cps optimizations 2016-05-17 00:33:42 -04:00
Justin Ethier
dad7a459ce Fixup module renaming 2016-05-16 23:41:23 -04:00
Justin Ethier
741e32822b Changed module name 2016-05-16 20:29:29 -04:00
Justin Ethier
5d0e952c7c Testing analysis code 2016-05-11 22:48:22 -04:00
Justin Ethier
d36f9be25b WIP 2016-05-11 22:18:28 -04:00
Justin Ethier
18b81a75af Wrap AST lambda bodies in a list 2016-05-07 03:09:43 -04:00
Justin Ethier
a86a8262fa WIP - use AST to store lambdas after CPS convert 2016-05-06 00:24:57 -04:00
Justin Ethier
a7198b425b Removed dead code 2016-05-03 04:18:12 -04:00
Justin Ethier
8437d4e137 Issue #40 - Allow splicing of library begin defs
Allow definitions contained in a top-level define to be spliced into the same scope as the define. There is also a performance hack to force compiled macros when compiling (scheme base). That code may need to be revisited, although perhaps not because the only compiled macros are the ones that are provided directly by cyclone. User code will not contain them.
2016-05-02 23:47:50 -04:00
Justin Ethier
27e2b8dc3f DEBUG code for library splicing 2016-04-30 04:13:55 -04:00
Justin Ethier
76a3778dda Improve formatting of "-d" output 2016-04-27 21:09:08 -04:00
Justin Ethier
1fddf8272a Allow including C headers in a program 2016-04-27 00:18:09 -04:00
Justin Ethier
ea37de65f7 Read c headers included by a library 2016-04-19 23:38:48 -04:00
Justin Ethier
31b46ecd65 WIP 2016-04-15 02:06:26 -04:00
Justin Ethier
16dd14345a Handling of library renames 2016-04-15 00:16:04 -04:00
Justin Ethier
dbb4ab83a4 WIP - renaming of library exports 2016-04-15 00:00:49 -04:00
Justin Ethier
e67b67895f Use lib:idb 2016-03-30 01:00:43 -04:00
Justin Ethier
c44d5d5427 Call CPS optimization code from main program 2016-03-10 21:29:47 -05:00
Justin Ethier
730434bb14 Added header comment block. 2016-02-14 22:35:04 -05:00
Justin Ethier
1c7f56f602 Import (scheme case-lambda) 2016-02-13 22:45:36 -05:00
Justin Ethier
be7ea4774f Include lazy 2016-02-05 22:39:16 -05:00
Justin Ethier
6e870cd6d3 Expand top-level program as if it was a lambda body, to allow begin splicing 2016-02-05 22:52:50 -05:00
Justin Ethier
d93d89a922 Replacing begin 2016-01-30 22:35:50 -05:00
Justin Ethier
7664b4c1e4 Removing call-with-values for now 2016-01-26 22:36:23 -05:00
Justin Ethier
6d4c85766e Added define-c 2016-01-07 22:45:16 -05:00
Justin Ethier
84d74409cb Use ck hashset to speed up our symbol table 2015-12-11 22:27:21 -05:00
Justin Ethier
ab5d12b896 Link with pthread libs 2015-12-02 01:01:26 -05:00
Justin Ethier
0578c4963a Cleanup 2015-09-01 21:30:20 -04:00
Justin Ethier
e177410706 Cut-over to expand2 2015-09-02 01:41:30 -04:00
Justin Ethier
9a3d370de4 Build macro env on top of global env 2015-09-02 01:20:47 -04:00
Justin Ethier
6bf6b028d2 WIP 2015-09-02 00:09:06 -04:00
Justin Ethier
1e64637b4f Added env to (expand) 2015-08-29 02:17:51 -04:00
Justin Ethier
c887cfe04b WIP - create top-level macro env 2015-08-27 22:59:37 -04:00
Justin Ethier
377db59ab5 Relocate and/or to define-syntax macros 2015-08-18 22:26:17 -04:00
Justin Ethier
5abd750697 Debugging 2015-08-18 21:36:18 -04:00
Justin Ethier
915915b75f WIP 2015-08-17 23:01:45 -04:00
Justin Ethier
bda12755c1 Added debug code for compiled macros 2015-08-17 22:05:23 -04:00
Justin Ethier
d228871f04 Use metadata to load macros 2015-08-14 01:48:46 -04:00
Justin Ethier
50555340b1 Output resolved meta 2015-08-14 01:35:35 -04:00
Justin Ethier
52894f0f29 Only add newly-defined macros to meta files 2015-08-13 22:08:35 -04:00