Justin Ethier
900605f1fe
Clean up old comments and dead code
2019-10-08 17:49:40 -04:00
Justin Ethier
f4c8326c78
Merge remote-tracking branch 'origin/master'
2019-10-03 16:23:16 -04:00
Justin Ethier
7786181722
Micro-optimization: speed up equal() a bit
...
Just see if x and y are the same before type checking; this shaves off a bit of time in the benchmark (IE, under heavy loads).
2019-10-03 16:22:01 -04:00
Justin Ethier
6d8ee08510
Update README.md
2019-09-27 22:35:40 -04:00
Justin Ethier
b92b352abb
Update README.md
2019-09-27 22:34:39 -04:00
Justin Ethier
495cc34490
Update README.md
2019-09-27 22:33:02 -04:00
Justin Ethier
c9f715a05f
Update Development.md
...
Fix spelling
2019-09-27 22:16:06 -04:00
Justin Ethier
17daa82bb9
Issue #340 - Fix u8 operations to work on integers
2019-09-27 13:38:44 -04:00
Justin Ethier
28c94c1e65
Bump to 0.11.5
2019-09-27 12:47:33 -04:00
Justin Ethier
42150cd3f0
Revised bug fix description
2019-09-26 18:03:03 -04:00
Justin Ethier
fdab84493e
Prep for 0.11.4 release
2019-09-26 17:52:29 -04:00
Justin Ethier
f7e6c11108
Port gc_is_stack_obj to a macro
...
This avoids function calls and can improve performance in extreme cases.
2019-09-26 17:24:27 -04:00
Justin Ethier
a18ba5eaf8
Note latest change
2019-09-26 10:08:12 -04:00
Justin Ethier
51919cfdf8
Speed up object mutation
...
No need to track for minor GC purposes unless we are mutating a heap variable to point to a stack var.
2019-09-26 10:07:10 -04:00
Justin Ethier
b829abadfb
Issue #339
2019-09-23 13:32:47 -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
60e9007d57
Speed up (complex?)
2019-09-13 12:31:18 -04:00
Justin Ethier
829f7d86b0
Issue #336 - Compiler validation for "if"
2019-09-10 18:52:44 -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
c39465e6cf
Sync new file
2019-09-10 17:36:06 -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
1c4b7cc264
Polishing up
2019-09-10 17:14:16 -04:00
Justin Ethier
dba849ae62
Build-out validation
2019-09-10 17:11:38 -04:00
Justin Ethier
da4ffd84a3
Keep track of lexical variables, be more careful about (if)
2019-09-09 18:26:32 -04:00
Justin Ethier
2ad35be419
Scaffold validation calls
2019-09-05 13:24:13 -04:00
Justin Ethier
5f5363a8e2
WIP
2019-09-04 18:45:54 -04:00
Justin Ethier
b0acafbee8
Initial test file
2019-09-04 13:24:06 -04:00
Justin Ethier
02fa091297
Issue #336 - Validate num of args passed to if
2019-09-04 13:07:02 -04:00
Justin Ethier
b482a40f04
Update CHANGELOG.md
2019-08-23 16:57:38 -04:00
Justin Ethier
fccc9630cf
Remove old macro
2019-08-23 10:21:58 -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
aed49c49e4
Issue #297
2019-08-22 14:24:07 -04:00
Justin Ethier
9ee7c49334
Issue #297 - Complete validation for closures
...
Renumbered the type tags such that we can quickly check if an object is a closure or not. This will prevent crashes where an object of the wrong type (such as NULL or boolean) is passed in place of a closure. Previously we did not distinguish these objects, leading to segfaults and undefined behavior.
2019-08-22 13:41:20 -04:00
Justin Ethier
99c5bee97a
Issue #297 - Friendlier error behavior for apply
...
When apply attempts to execute an object of the wrong type, we now raise a useful error instead of aborting the whole program (!)
2019-08-22 13:25:34 -04:00
Justin Ethier
19ac6d32aa
Merge remote-tracking branch 'origin/master'
2019-08-13 18:03:24 -04:00
Justin Ethier
769ec2ea76
Refactoring, set placeholders for future dev
2019-08-13 18:02:46 -04:00
Justin Ethier
7d3d65ad81
Update CHANGELOG.md
...
Prep for 0.11.3 release
2019-08-12 10:10:39 -04:00
Justin Ethier
540c5463f6
map/for-each optimization
2019-08-09 16:09:59 -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
7420b34f84
Issue #331 - Document eval fixes for begin/records
2019-08-06 22:19:34 -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
36aac15dd5
Merge pull request #330 from lassik/fix-ck-version
...
Fix Concurrency Kit version tag in Travis
2019-07-31 16:54:01 -04:00