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
c9921ce69a
Fix libtommath warnings
2019-10-23 13:24:13 -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
e211e3f64d
Issue #339 - Fix fast path in make-string
...
We need to ensure the code point buffer only contains a single byte in order to use the fast path for string creation. For example if there is one code point that is 2 bytes large we need to use the slow path.
2019-09-23 13:28:52 -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
02fa091297
Issue #336 - Validate num of args passed to if
2019-09-04 13:07:02 -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
f211d350e0
Issue #331 - Ensure map evaluates in order
...
Reverse so everything is evaluated in order, then reverse again so final results are in order.
2019-08-07 13:29:43 -04:00
Justin Ethier
80b861664a
Issue #331 - Ensure definitions from begin's are spliced in
2019-08-06 22:06:43 -04:00
Justin Ethier
2d398573a5
WIP
2019-08-05 18:39:44 -04:00
Justin Ethier
ec25eddc28
Issue #331 - Prevent syntax error during eval
...
Prevent an unquoted symbol from throwing a syntax error when evaluating a define-record-type form. Note there are still other issues with creating a record type in the interpreter at this time.
2019-08-05 14:09:14 -04:00
Justin Ethier
1edb877c5f
Speed up vector
for five args or less
2019-08-02 12:13:30 -04:00
Justin Ethier
0c050a3065
Added platform to (features)
2019-07-31 13:06:31 -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
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