Commit graph

995 commits

Author SHA1 Message Date
Justin Ethier
63696698c8 Rev++ 2019-12-04 18:02:25 -05:00
Justin Ethier
f091d0267e Unsafe (length) 2019-11-26 23:06:01 -05:00
Justin Ethier
0651716196 Unsafe vector-set 2019-11-26 22:58:24 -05:00
Justin Ethier
c30bf50b5d Fix unsafe car/cdr 2019-11-26 16:11:57 -05:00
Justin Ethier
5f42a06601 More unsafe prims 2019-11-26 16:03:06 -05:00
Justin Ethier
537e8bc975 Experimenting with unsafe prims 2019-11-26 15:37:52 -05:00
Justin Ethier
acb50614ee Issue #305 2019-11-25 14:20:26 -05:00
Justin Ethier
6ffa271bf5 Did not mean to change this file 2019-11-21 13:40:44 -05:00
Justin Ethier
fc108f067f Issue #281 - Try importing file locally first 2019-11-21 13:39:45 -05:00
Justin Ethier
95d1200df0 Incorporate optimization flags 2019-11-13 13:16:45 -05:00
Justin Ethier
debbde6849 Validate the number of arguments passed to local function calls 2019-11-07 13:37:20 -05:00
Justin Ethier
fcebf0b9d6 Version bump 2019-10-29 18:27:57 -04:00
Justin Ethier
5354fcb0bb Check bignum return value 2019-10-28 15:49:20 -04:00
Justin Ethier
e98e35ee5b Added -no-call-history flag
Allow for faster executables at the expense of call history.
2019-10-14 13:01:16 -04:00
Justin Ethier
28c94c1e65 Bump to 0.11.5 2019-09-27 12:47:33 -04:00
Justin Ethier
e6c23e25c1 Issue #337
Added `open-binary-input-file` and `open-binary-output-file` from R7RS.
2019-09-15 10:40:06 -04:00
Justin Ethier
95922d257e Only print when debugging as a program 2019-09-10 17:47:26 -04:00
Justin Ethier
526032e52f Include new file 2019-09-10 17:47:03 -04:00
Justin Ethier
30fd74792f Rename function 2019-09-10 17:35:49 -04:00
Justin Ethier
947e15662a Relocate file 2019-09-10 17:14:52 -04:00
Justin Ethier
66ff7f6380 Bump version 2019-08-22 21:30:56 -04:00
Justin Ethier
e099fe7860 Refactoring
Use a macro name that makes more sense, as we are trying to determine if obj is a closure.
2019-08-22 21:28:57 -04:00
Justin Ethier
769ec2ea76 Refactoring, set placeholders for future dev 2019-08-13 18:02:46 -04:00
Justin Ethier
f3c83e42a4 Optimized versions of (map) and (for-each)
These versions are optimized for when the function is being called with two list arguments.
2019-08-09 16:00:46 -04:00
Justin Ethier
1edb877c5f Speed up vector for five args or less 2019-08-02 12:13:30 -04:00
Justin Ethier
48376779e3 Version bump 2019-07-11 18:14:45 -04:00
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
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
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
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
5dd5a5eef2 Stub for new version 2019-03-17 18:48:27 -04:00