Commit graph

1070 commits

Author SHA1 Message Date
Justin Ethier
69a54ecb6a Added constant folding back 2017-08-01 18:43:33 -04:00
Justin Ethier
9a9bb4079f Disabling cyc-seq for now, since it breaks gcbench
Compiling with this seems to cause crashes (segfaults, etc) on the gcbench program.
2017-08-01 18:08:12 -04:00
Justin Ethier
0e5257eb91 Reverting constant folding for now 2017-08-01 13:27:49 +00:00
Justin Ethier
e8aa42e247 Issue #207 - Added comments 2017-07-27 11:43:49 +00:00
Justin Ethier
67ca9edbec WIP 2017-07-26 19:02:31 -04:00
Justin Ethier
a758111aad Issue #207 - Added constant folding 2017-07-26 14:52:03 +00:00
Justin Ethier
5112aa9f46 Do not precompute user defined prim 2017-07-19 18:02:20 -04:00
Justin Ethier
f2db6235e0 Issue #206 - Fix cyc-seq, and only do it as an optimization 2017-07-18 17:41:33 -04:00
Justin Ethier
a30b03767f Revert for now 2017-07-18 13:08:16 +00:00
Justin Ethier
dd1f701d54 Export c-compile-program 2017-07-18 13:06:39 +00:00
Justin Ethier
89c58f8b44 Omit C meaningless expressions
When compiling Cyc-seq expressions there are cases where the generated C code would have no effect. Just omit it in this case to prevent a warning from the C compiler.
2017-07-13 10:35:10 +00:00
Justin Ethier
856f201eb0 Optimize negation 2017-07-12 12:07:41 +00:00
Justin Ethier
d78a516138 WIP - experimental optimization 2017-07-11 18:53:06 -04:00
Justin Ethier
37d510a41f Only use Cyc-seq for non-CPSing arguments 2017-07-10 13:26:30 +00:00
Justin Ethier
8ba1954ac3 WIP 2017-07-07 18:44:13 -04:00
Justin Ethier
7bad122821 WIP 2017-07-07 17:47:24 +00:00
Justin Ethier
8ed042573a WIP, eliminating more unused lambda's 2017-07-07 14:14:16 +00:00
Justin Ethier
2fd88a15e6 Relocate closure conversion 2017-07-07 13:03:30 +00:00
Justin Ethier
d65e7428b9 Issue #202 - Allow -A / -I options for icyc 2017-07-01 17:56:09 -04:00
Justin Ethier
1032673c8a Bump to 0.5.4 2017-06-29 17:46:41 -04:00
Justin Ethier
52d764209b Issue #196 - Check system folder for libraries
Check sys folder if a library cannot be found, before giving up and checking local dir.
2017-06-14 21:37:10 -04:00
Justin Ethier
27caeb3fbf Added lib:check-system-path 2017-06-14 17:56:22 +00:00
Justin Ethier
a1d844c3ab Bump to 0.5.3 2017-06-09 17:19:55 +00:00
Justin Ethier
27970524c5 Generalization of globals_changed thread param 2017-06-09 17:17:01 +00:00
Justin Ethier
57926605a5 For empty string literals, return the empty symbol 2017-06-07 17:57:49 +00:00
Justin Ethier
c06c8328f4 Bump to 0.5.2 2017-06-05 11:14:45 +00:00
Justin Ethier
aac5240a0b Avoid calling length each iteration of for-each
length is O(n) so calling it should be avoided, especially for each iteration of for-each. Instead the code can just check if the first cdr is null. This has the potential for a huge speed improvement.
2017-06-02 19:25:26 -04:00
Justin Ethier
5390802816 Added adbv:ref-count 2017-05-26 15:49:56 +00:00
Justin Ethier
da2f2bb05f Issue #201 - disabling for now 2017-05-26 15:41:46 +00:00
Justin Ethier
4e83e93cd7 Added TODO 2017-05-26 14:21:00 +00:00
Justin Ethier
a6093601de Issue #201 - Inline if expressions 2017-05-26 14:10:25 +00:00
Justin Ethier
ce6b24cc10 WIP 2017-05-25 18:54:55 -04:00
Justin Ethier
7cdabc02b6 WIP 2017-05-25 17:46:41 -04:00
Justin Ethier
85a74f3a1e WIP 2017-05-25 16:20:10 +00:00
Justin Ethier
7606eeeb5c WIP 2017-05-25 13:25:03 +00:00
Justin Ethier
6118325ff4 Added opt:beta-expand 2017-05-15 18:50:37 +00:00
Justin Ethier
eee5695c1f Bug fixes for beta expansion 2017-05-15 13:37:30 +00:00
Justin Ethier
7794f3edce Ensure list of formals before performing list ops 2017-05-15 11:21:13 +00:00
Justin Ethier
1d36fec61e WIP 2017-05-12 19:42:38 -04:00
Justin Ethier
341679a479 WIP - beta expansion 2017-05-12 17:30:10 +00:00
Justin Ethier
9618e35364 Experimental beta expansion code 2017-05-11 17:53:47 +00:00
Justin Ethier
d533cf6910 Use double_type as ptr type for UDF inlines
Cannot use common_type as it leads to segfaults when running the gcbench benchmark. There must be an alignment problem or such that seems to work most of the time but is ultimately unstable.
2017-05-09 21:44:26 +00:00
Justin Ethier
27bacda445 Use car instead of cell_get
car is much faster since there is no function overhead.
2017-05-09 15:33:56 +00:00
Justin Ethier
45c27f5a3a Experimenting with wrap-mutable optimizations 2017-05-09 15:19:29 +00:00
Justin Ethier
48ee3708d5 Inline more define-c functions 2017-05-09 12:44:42 +00:00
Justin Ethier
dfdd84d585 Issue #198 - Remove custom "member" function 2017-05-08 18:44:29 -04:00
Justin Ethier
1391186a6f Inline (exact?) and (exact-integer?) 2017-05-04 08:40:59 +00:00
Justin Ethier
93f87ac4c3 Allow inlines if a var is passed to a continuation 2017-05-04 08:22:01 +00:00
Justin Ethier
72c1bb9bea Keep track of which refs are continuations 2017-05-04 07:03:05 +00:00
Justin Ethier
3bd5d52671 Keep track of lambda's with continuations 2017-05-04 06:50:09 +00:00