Commit graph

1366 commits

Author SHA1 Message Date
Justin Ethier
465f38ad25 Relocated file 2019-06-19 18:29:21 -04:00
Justin Ethier
b3e9c31d41 Relocated library 2019-06-19 13:18:48 -04:00
Justin Ethier
1b0c5f3e78 Relocated (immutable?) procedure 2019-06-18 13:30:22 -04:00
Justin Ethier
b898f6b954 Bump to 0.11.2 2019-06-10 13:19:19 -04:00
Justin Ethier
8539dd3915 Bug fix 2019-05-22 13:23:45 -04:00
Justin Ethier
abe40532c3 Include missing arg 2019-05-21 17:46:33 -04:00
Justin Ethier
6920b8f568 Set immutable for evaluated quotes 2019-05-21 13:06:51 -04:00
Justin Ethier
e85a04fd81 Integrated immutable functions 2019-05-21 13:02:41 -04:00
Justin Ethier
c9ae6cdf97 Bug fixes 2019-05-16 13:35:51 -04:00
Justin Ethier
cb0d72a6df Emit immutable bytevectors and strings when quoted 2019-05-16 13:03:28 -04:00
Justin Ethier
8c7bd7f96b WIP, working through immutable objects 2019-05-15 22:57:40 -04:00
Justin Ethier
daa8f92f0c Refactoring, stage new arg to c-compile-const
New signature is: (c-compile-const exp use-alloca immutable)
This will allow the compilation of immutable objects.
2019-05-15 13:35:08 -04:00
Justin Ethier
ba569882ea Refactor code out to c-set-immutable-field 2019-05-15 13:28:17 -04:00
Justin Ethier
f2b9658b21 Set mutability for quoted pairs 2019-05-14 13:06:10 -04:00
Justin Ethier
f0b84ce122 Set immutable flag 2019-05-01 17:41:47 -04:00
Justin Ethier
62d2bea199 Remove redundant code 2019-04-18 17:46:38 -04:00
Justin Ethier
c80d53c6e8 Bump to 0.11.1 2019-04-18 13:00:49 -04:00
Justin Ethier
3c37c164fe Be more careful about identifying macros
The validation for number of function arguments was modified previously to filter-out macros, but the logic was not good enough. For some reason (need to track it down) non-macros are showing up in the macro environment. So additional logic is needed to confirm whether a given symbol is in fact a macro.
2019-04-18 12:57:26 -04:00
Justin Ethier
4f1abc2757 Cleanup, omit macros from arg checking 2019-04-11 18:40:19 -04:00
Justin Ethier
4300a759e3 Emit sexp along with arg error 2019-04-11 13:53:26 -04:00
Justin Ethier
e828f5839d Issue #240 - Validate number of local fnc args 2019-04-11 13:21:55 -04:00
Justin Ethier
74c545416c Added validate:num-function-args 2019-04-10 22:56:01 -04:00
Justin Ethier
0f1469da61 Bump to 0.11 2019-03-28 12:22:13 -04:00
Justin Ethier
38847f11cf Add extra condition to (alloca?)
Make this match what is actually done in cgen for when a while statement is introduced, there was an older case not being handled.
2019-03-27 13:18:31 -04:00
Justin Ethier
27469be2ef Fix typo 2019-03-27 13:18:17 -04:00
Justin Ethier
e68fa56f94 Bugfix - account for the use-alloca flag 2019-03-22 12:26:10 -04:00
Justin Ethier
f13186ee17 Use static alloc for clo/vec, instead of alloca
This improves performance as the C compiler can better optimize the generated code.
2019-03-22 10:34:48 -04:00
Justin Ethier
12d6cbce5a Use explicit if's instead of memv for case
Theory is the generated code can make better use of the processor cached when using explicit if statements than aggregating over a list via memv, since pairs in the list can be located anywhere across memory.
2019-03-20 17:39:55 -04:00
Justin Ethier
5dd5a5eef2 Stub for new version 2019-03-17 18:48:27 -04:00
Justin Ethier
1f7212a964 Faster version of _list-index 2019-03-14 15:43:36 -04:00
Justin Ethier
3bf2a6125c Fast list/vector functions also allocate mutable objs 2019-02-28 13:47:32 -05:00
Justin Ethier
f64d429ab8 WIP 2019-02-28 09:43:58 -05:00
Justin Ethier
d9f63a85b4 Revert previous change 2019-02-27 16:03:19 -05:00
Justin Ethier
1f8a824bda More efficient record type construction 2019-02-27 15:44:50 -05:00
Justin Ethier
8772c5355b Faster initialization of objects create via define-record-type 2019-02-27 14:31:14 -05:00
Justin Ethier
0f0beb024c Do not use vector-set when creating record types
This improves performance as mutations force the GC to do more work.
2019-02-27 10:29:18 -05:00
Justin Ethier
6bfff4b6ed Perform fixnum type check 2019-02-19 13:17:33 -05:00
Justin Ethier
db7fd2bf81 Tentative version bump 2019-02-19 13:14:05 -05:00
Justin Ethier
8efbf60528 Must explicitly call (complex?) now 2019-02-18 22:12:55 -05:00
Justin Ethier
b4c19b1c7d Use 0.9.9 instead 2019-02-18 12:32:57 -05:00
Justin Ethier
b2997de54a Prep 0.9.8.1 bugfix release 2019-02-18 12:13:03 -05:00
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