Commit graph

4527 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
7021855eca Inject additional imports, added a TODO 2019-02-14 23:03:33 -05:00
Justin Ethier
d0d7fae89c Only memoize pure functions for programs
The problem with doing this for libraries is that it adds a new dependency on (srfi 69). It would be problematic to use a library with these changes as there is no easy way to know this SRFI is also a library dependency.
2019-02-14 22:53:12 -05:00
Justin Ethier
ae768b0e83 Added feature section 2019-02-14 21:11:54 -05:00
Justin Ethier
e5be007539 Added memoization optimization flags 2019-02-14 21:10:06 -05:00
Justin Ethier
12291423c7 Syntax fix 2019-02-14 17:14:18 -05:00
Justin Ethier
b01ab9a671 Add missing Cyc-memoize even if srfi 69 is there 2019-02-14 16:56:05 -05:00
Justin Ethier
70264e001e Fix injection of imports 2019-02-14 14:21:14 -05:00
Justin Ethier
f16b3fec93 WIP 2019-02-14 13:59:07 -05:00
Justin Ethier
5992123c15 REmove srfi 69 inmport 2019-02-14 13:58:57 -05:00
Justin Ethier
74148a2f16 Remove dependency on (scheme complex) 2019-02-14 13:55:56 -05:00
Justin Ethier
0604fdf221 WIP for proof of concept 2019-02-14 13:23:20 -05:00
Justin Ethier
12b6131992 Cut-over to Cyc-memoize 2019-02-14 12:47:36 -05:00
Justin Ethier
4632efc71d Added Cyc-memoize 2019-02-14 12:44:48 -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
94f77f6075 Added TODO's 2019-02-13 15:37:53 -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
7570665448 Copy new file 2019-02-08 13:13:07 -05:00
Justin Ethier
4d7d312baa Relocate file 2019-02-08 13:11:29 -05:00
Justin Ethier
407a0c0581 Cleanup old comments and fnc names 2019-02-08 13:06:05 -05:00
Justin Ethier
a0a9242d64 Do not memoize a func with any free variables
This prevents issues where free variables are mutated, causing a function to no longer be pure.
2019-02-07 17:57:49 -05:00
Justin Ethier
a843e06f9a Memoize all of the functions at top-level 2019-02-06 14:53:00 -05:00
Justin Ethier
4ac9b64bc2 Added TODO
Reject function that contains globals since the value of those globals could change, invaliding the cache.
2019-02-06 13:42:04 -05:00
Justin Ethier
d6e2717407 Integrating new memo code into top-level AST output 2019-02-06 13:22:28 -05:00
Justin Ethier
bb0122ee9b WIP 2019-02-05 18:35:41 -05:00
Justin Ethier
411c589133 Memoized functions that do not require new top-level definitions 2019-02-05 17:20:31 -05:00
Justin Ethier
20ee239b59 WIP 2019-02-05 13:25:40 -05:00
Justin Ethier
b5c23441ba WIP 2019-02-04 18:12:08 -05:00
Justin Ethier
bca99853fb Merge remote-tracking branch 'origin/master' 2019-02-04 13:27:35 -05:00
Justin Ethier
0ed38ba97e WIP 2019-02-04 13:27:24 -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
Justin Ethier
7d1855d6d4 WIP 2019-01-31 13:33:05 -05:00
Justin Ethier
1dc3e8324d Initial file 2019-01-31 13:32:55 -05:00
Justin Ethier
bcdec41276 Added (ack) 2019-01-30 16:43:49 -05:00
Justin Ethier
411347a556 Adding temporarily for testing 2019-01-29 19:02:43 -05:00
Justin Ethier
2b115c989d Initial example 2019-01-28 22:59:54 -05:00
Justin Ethier
929412a29b Document Arthur's latest changes 2019-01-28 13:14:56 -05:00
Justin Ethier
070a9924d3
Merge pull request #302 from arthurmaciel/correct-semi-colon-bug
Previous try to correct semi-colon bug failed
2019-01-27 21:13:15 -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
Justin Ethier
7454d0df2d
Merge pull request #300 from arthurmaciel/single-semi-colons-to-double-semi-colons
Converted improper semi-colons into double ones (and vice-versa)
2019-01-25 23:04:38 -05:00