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
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
574cc630d0
Fixed exit
when boolean is passed
...
Return abnomal status code when false is passed, per R7RS
2019-07-20 17:00:52 -04:00
Justin Ethier
4b6b672892
Added Cyc_is_immutable
2019-06-11 17:46:16 -04:00
Justin Ethier
22ca4ff85a
Issue #320 - Ensure caller has ref to child thread
2019-06-07 16:12:31 -04:00
Justin Ethier
80daff6dd4
Cleanup
2019-06-06 13:30:43 -04:00
Justin Ethier
bcea7ce1ef
Fix logical error
2019-06-06 13:05:09 -04:00
Justin Ethier
092409cb53
Fix syntax errors
2019-06-05 17:29:56 -04:00
Justin Ethier
49dbd0160a
Build-out of make-shared
2019-06-05 17:26:03 -04:00
Justin Ethier
567e9dd2df
WIP
2019-06-04 18:46:21 -04:00
Justin Ethier
273e4ccc88
WIP - Cyc_make_shared_object
2019-06-04 12:54:46 -04:00
Justin Ethier
7bd77e1ac3
Added checks for immutable objs
2019-06-03 13:18:08 -04:00
Justin Ethier
ddd057f97b
WIP
2019-05-30 13:18:50 -04:00
Justin Ethier
d3e679fd03
Added atomic_type
2019-05-29 18:53:53 -04:00
Justin Ethier
0941d43f4f
Added TODO
2019-05-28 13:31:08 -04:00
Justin Ethier
3f6e9655bd
Set the 'immutable' field when constructing objs
2019-05-01 13:37:02 -04:00
Justin Ethier
3cb234402d
Added checks for immutable flag
2019-05-01 13:11:05 -04:00
Justin Ethier
7bc59f3ded
Allow (exit) to return integer values to OS
2019-04-11 13:21:31 -04:00
Justin Ethier
549bb59937
Micro-optimization - turn Cyc_st_add into a macro
2019-03-28 12:21:15 -04:00
Justin Ethier
b73f68cc8a
Qualify static function
2019-03-21 22:59:58 -04:00
Justin Ethier
3706647583
Refactoring
2019-03-21 17:16:21 -04:00
Justin Ethier
c357663f0a
Issue #310 - Fix type checking for member/assoc
2019-03-20 22:56:33 -04:00
Justin Ethier
41eaf8008b
Add "bin" support to Cyc-installation-dir
2019-03-17 18:45:55 -04:00
Justin Ethier
f64d429ab8
WIP
2019-02-28 09:43:58 -05:00
Justin Ethier
ec7c3c3308
Revert change to (integer?) for now
...
Causes unit test failures, need to sort this out separately.
2019-02-18 17:18:02 -05:00
Justin Ethier
204e31e362
Issue #303 - Handle numeric predicate edge cases
...
Add edge cases to (real?) for complex numbers, and (integer?) for reals.
2019-02-18 16:48:11 -05:00
Justin Ethier
b2b10ca729
WIP - new version of libtommath
2019-02-17 19:00:47 -05:00
Justin Ethier
7c8076e433
Added Cyc_is_list()
2018-12-12 13:10:10 -05:00
Justin Ethier
87267600d2
Remove data param
2018-12-05 17:39:02 -05:00
Justin Ethier
07dd9c7ef5
New fast list functions
2018-12-04 22:54:53 -05:00
Justin Ethier
369b6f3c77
More static functions
2018-11-27 10:32:18 -05:00
Justin Ethier
c9551d6ac8
Revert previous change
2018-11-26 17:11:00 -05:00
Justin Ethier
ac5ee210f5
Added Cyc_string_append2
2018-11-26 16:46:27 -05:00
Justin Ethier
8f94ff12f9
Added a TODO
2018-11-26 16:07:01 -05:00
Justin Ethier
262001c900
Mark internal read helper functions as static
2018-11-26 13:22:25 -05:00
Justin Ethier
7ce70739b5
Mark str2int as static
2018-11-26 13:13:17 -05:00
Justin Ethier
639d3b1438
one more static declaration
2018-11-26 11:00:28 -05:00
Justin Ethier
2b5253d5ca
Declare Cyc_utf8_decode as static to improve performance
2018-11-26 10:47:02 -05:00
Justin Ethier
ba994b9d36
Issue #278 - Fix compiler warning
2018-10-02 11:28:07 -04:00
Justin Ethier
b41971e187
Issue #276 - Improve overflow detection for multiplication
2018-09-10 13:29:30 -04:00
Justin Ethier
b2326b89f4
Issue #276 - Possible fix
...
Do not perform multiplication until we are sure the operation will not over/under flow.
2018-09-09 18:42:35 -04:00
Justin Ethier
d20496318f
Added more docs
2018-08-24 13:16:29 -04:00
Justin Ethier
388759853d
Add docs
2018-08-24 12:52:23 -04:00
Justin Ethier
88998757db
Check for fixnums passed to string funcs
2018-08-22 18:51:05 -04:00
Justin Ethier
3261eee05a
Perform slightly faster type checking for vector and bytevector access functions.
2018-08-21 16:06:37 -04:00
Justin Ethier
bb4b136b00
Very small speedup - fixnums for vector access
2018-08-20 13:36:33 -04:00
Justin Ethier
40c73203ce
Issue #270 - Working through a solution
2018-08-06 20:15:06 -04:00
Justin Ethier
133adce4c1
Enhance debug capability via GC_DEBUG_TRACE
2018-07-14 22:23:51 -04:00