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