Commit graph

1325 commits

Author SHA1 Message Date
Justin Ethier
fa01202df8 Do not attempt to memoize functions that take 0 args 2019-02-15 12:36:54 -05:00
Justin Ethier
12b6131992 Cut-over to Cyc-memoize 2019-02-14 12:47:36 -05:00
Justin Ethier
53471fc4c1 Rework setting of globals and checking flags, for cps opt 2019-02-13 18:53:43 -05:00
Justin Ethier
3af8cef894 Rework to use add-globals and flag-set functions 2019-02-13 18:52:52 -05:00
Justin Ethier
a20f020f66 Emit lambda AST's 2019-02-13 15:00:38 -05:00
Justin Ethier
f6be983113 Replace unnecessary and-let* 2019-02-13 11:58:37 -05:00
Justin Ethier
2c418ec33d Fix extraction of options 2019-02-13 10:41:02 -05:00
Justin Ethier
2a91c9431e WIP 2019-02-12 18:55:10 -05:00
Justin Ethier
dab0d9a570 Extract data from pair 2019-02-12 14:03:54 -05:00
Justin Ethier
3bbd89ce2c WIP 2019-02-12 14:01:13 -05:00
Justin Ethier
e060247d8a Cleanup interface to opt:memoize-pure-fncs 2019-02-10 18:58:18 -05:00
Justin Ethier
a988582228 WIP 2019-02-10 18:48:53 -05:00
Justin Ethier
1caa277f8a Added TODO 2019-02-08 13:24:23 -05:00
Justin Ethier
4d7d312baa Relocate file 2019-02-08 13:11:29 -05:00
Justin Ethier
50e1ec5f84
Update hashset.sld
Clarify use of this module in the header comments.
2019-02-01 10:25:01 -05:00
arthurmaciel
a8cf5d9312 Previous try to correct semi-colon bug failed due to adding semi-colon to the end of a whole block and not each statement 2019-01-27 21:03:22 -02:00
Justin Ethier
402ae5dea0 Fix comment 2019-01-25 19:05:10 -05:00
arthurmaciel
40fbb91bc3 Converted improper semi-colons into double ones 2019-01-25 19:10:10 -02:00
arthurmaciel
c04c930c3e Moved trailing parens into correct position -
only preserved those preceded by commented code
2019-01-25 17:43:09 -02:00
Justin Ethier
ab8910fc14
Merge pull request #298 from arthurmaciel/master
Updated scheme/cyclone/cgen.sld to insert correct
2019-01-25 13:24:13 -05:00
arthurmaciel
6dfb306cf1 Updated scheme/cyclone/cgen.sld to insert correct 2019-01-25 15:30:12 -02:00
Justin Ethier
dd0b66eb48 Bump to 0.9.8 2019-01-22 12:30:01 -05:00
Justin Ethier
459e9a97b0 Hack to re-enable beta expand 2019-01-17 22:36:57 -05:00
Justin Ethier
b0000c42e7 Test re-enabling beta expansion 2019-01-17 16:58:45 -05:00
Justin Ethier
4b72131ac6 Enabled faster mutated-by-set 2019-01-17 16:26:32 -05:00
Justin Ethier
bee311de80 WIP 2019-01-17 15:27:47 -05:00
Justin Ethier
8cb0dd1b20 Issue #293 - Added adbf:vars-mutated-by-set 2019-01-17 13:24:16 -05:00
Justin Ethier
f02b561fb6 Issue #292 2019-01-15 15:16:01 -05:00
Justin Ethier
95e0b4da75 Cleanup 2019-01-11 15:55:09 -05:00
Justin Ethier
02b884bf32 Issue #293 - Do not inline if any mutated prim args
As a first cut, do not inline a prim call if any of its arguments has been mutated by a (set!). This is too restrictive but a decent starting point.
2019-01-11 13:02:42 -05:00
Justin Ethier
8648e66ca6 Restrict contains-if check to "called-once" expansion 2019-01-10 13:36:05 -05:00
Justin Ethier
84d9d114dc Fix for beta expand of functions called once
The problem is an if expression within one of these functions may cause the same continuation to be expanded twice, introducing duplicate lambda defintions and identifiers. For now we are not going to beta expand such functions during the contraction phase.
2019-01-10 12:52:03 -05:00
Justin Ethier
adb703c321 Catch edge case with lambda app, cleanup debug tracing 2019-01-07 13:13:20 -05:00
Justin Ethier
a8f2b11f78 WIP, testing with actual function from comp src 2019-01-06 22:59:31 -05:00
Justin Ethier
3ce15462dc Cleanup and bug fixes 2019-01-04 16:07:17 -05:00
Justin Ethier
6be26698c1 Bug fixes, enable call graph analysis 2019-01-03 18:19:54 -05:00
Justin Ethier
0a47e9eaca Fix import processing, remove trace logs 2019-01-03 16:32:53 -05:00
Justin Ethier
8cd73b1d19 Use lists of formals 2019-01-03 13:35:28 -05:00
Justin Ethier
c382b259c7 WIP 2019-01-02 19:02:52 -05:00
Justin Ethier
61508ef55a Relocated file 2019-01-02 18:24:20 -05:00
Justin Ethier
8f4dca2090 Export function 2019-01-02 17:39:15 -05:00
Justin Ethier
0e06e00c08 Export additional functions 2019-01-02 18:05:35 -05:00
Justin Ethier
43bb787f7e Added (cannot-inline) property 2018-12-22 00:01:37 -05:00
Justin Ethier
82e14fe9c4 Experimental changes:
1) Disable beta expansion (causes exponential growth problems on compiler benchmark, needs more fine-tuning)
2) Do not inline assoc/member functions since they loop (needs performance analysis)
2018-12-21 21:49:52 -05:00
Justin Ethier
c564400f5a Classify apply functions as mutators
We don't know if the functions they call will mutate or not, so err on the side of caution. Not sure this is really necessary since they receive a cont and therefore cannot be inlined anyway.
2018-12-21 21:48:57 -05:00
Justin Ethier
a53af18f89 Issue #287 - Check for list before calling (length) 2018-12-20 13:25:52 -05:00
Justin Ethier
58e2809330 Use hashsets 2018-12-19 14:24:20 -05:00
Justin Ethier
0e797cde1e Cleanup 2018-12-19 13:39:21 -05:00
Justin Ethier
61cb34fe52 Fix lib name 2018-12-19 13:32:31 -05:00
Justin Ethier
f9b503edd8 Initial file 2018-12-19 13:27:05 -05:00