Justin Ethier
5101de1547
Issue #143 - Track recursion depth of equalp
...
This prevents the possibility of segfaulting when traversing arbitrarily complex circular structures.
2022-05-26 13:02:24 -04:00
Justin Ethier
d3f7262414
Issue #143 - Max recursion depth for printing
...
Enforce a maximum C recursion depth when printing data structures. This protects against cases where a circular data structure may produce infinite output, blowing the stack. The recursive limit is sufficiently large such that a non-circular structure should not be impacted.
2022-05-25 22:28:08 -04:00
Justin Ethier
43267e2939
WIP
2022-05-24 23:02:18 -04:00
Justin Ethier
2e84aaac9c
Issue #484 - Improve handling of exporting prims
...
To fixes:
- Prevent segfault setting a global variable to itself
- Do not throw an error when exporting a primitive that is not defined in the current module, as built-ins are always available in any context.
2021-12-13 19:05:18 -08:00
Justin Ethier
d2915abe6a
Issue #477 - Clean up
2021-08-12 23:01:04 -04:00
Justin Ethier
4ff0bca100
Issue #477 - Added CYC_PTHREAD_SET_STACK_SIZE
2021-08-12 22:46:13 -04:00
Justin Ethier
14d4c27eac
Issue #472 - Avoid races with tracing GC when allocating large vectors
2021-07-28 22:26:33 -04:00
Justin Ethier
2a9d0ea604
Issue #279 - Support end-result and return from thread-join
2021-07-25 23:02:31 -04:00
Justin Ethier
d99d4a9459
Cleanup
2021-07-23 15:45:08 -04:00
Justin Ethier
efece6a413
Handle complex numbers better for numerator/denominator
...
Peel off real part if there is no imaginary part
2021-07-22 21:45:08 -04:00
Justin Ethier
48a7958c33
Initial numerator/denominator complex num support
2021-07-22 17:21:52 -04:00
Justin Ethier
826e7895ae
Issue #433 - Special case, denominator of 0 is 1
2021-07-22 17:16:53 -04:00
Justin Ethier
f17102178b
Continue building-out new numerator/denominator
2021-07-21 19:47:42 -07:00
Justin Ethier
63b7c12ede
TODO: numerator/denominator support
2021-07-21 15:47:06 -04:00
Justin Ethier
d9d1b35a62
Issue #351 - Prevent compiled warnings on clang
...
Cleaned up code to prevent compiler warnings with respect to comparing uint8 with EOF (IE, -1).
2021-07-15 19:20:47 -07:00
Justin Ethier
71cca38b44
Issue #379 - Fix read-line to be compatible with other I/O functions
...
The function now uses the same port buffer as our other I/O functions.
2021-07-14 23:00:42 -04:00
Justin Ethier
215552cfe7
Working version of Cyc_io_read_line_slow
2021-07-14 17:28:59 -04:00
Justin Ethier
5a50814a61
WIP for read_line slow
2021-07-14 13:40:32 -04:00
Justin Ethier
92bc2364fe
WIP
2021-07-13 20:00:36 -07:00
Justin Ethier
8aec6c4c83
Stub out approach for fully-integrated read-line
2021-07-13 19:45:10 -07:00
Justin Ethier
358fe01fc2
Issue #211 - production version of (char-ready?)
2021-06-08 13:38:33 -04:00
Justin Ethier
fd5406a195
Explicitly include sys/select.h
2021-06-08 11:03:27 -04:00
Justin Ethier
766b9066f5
Issue #211 - Initial char-ready implementation
2021-06-07 19:57:13 -07:00
Justin Ethier
61d0f3396b
Revert "Eliminate unnecessary code"
...
This reverts commit 8802ec2a67
.
2021-05-25 21:30:25 -04:00
Justin Ethier
8802ec2a67
Eliminate unnecessary code
2021-05-24 19:07:09 -07:00
Justin Ethier
100c9c50ab
Fix primitive_type declarations so module compiles
2021-05-24 18:49:45 -07:00
Justin Ethier
6ac96ea5c2
Simplify num argument checks for apply
...
Avoid calling (length) twice, cleanup, and simplify related code.
2021-05-24 12:41:19 -04:00
Justin Ethier
8526a0676f
Require num_args for primitive_type
...
This will allow us to use the same validation code as for closures.
2021-05-24 12:35:50 -04:00
Justin Ethier
a05959cb90
Converted primitive functions to new calling conventions
2021-05-22 19:45:52 -07:00
Justin Ethier
3baeb7c98e
Converted prims to new calling convention
2021-05-21 19:36:27 -07:00
Justin Ethier
6ec2eb4854
Convert primitives to new calling conventions
2021-05-21 13:34:45 -04:00
Justin Ethier
c44f7fcc0b
WIP conversion
2021-05-20 19:58:14 -07:00
Justin Ethier
92896d2202
Issue #459 - R7RS #d decimal specifier
2021-05-19 18:50:45 -07:00
Justin Ethier
7be18ce9c5
Use faster integer unbox function, since we know we are receiving a fixnum
2021-05-18 19:14:30 -07:00
Justin Ethier
15cf24a1f2
More efficiently unbox known fixnums
2021-05-18 17:42:23 -04:00
Justin Ethier
b8ed157105
Added init_polyfills()
2021-05-02 19:30:11 -07:00
Justin Ethier
31caeff533
Initial error handling for max args
...
Would like something more sophisticated than this, but this is a first-cut of code to prevent segfaulting due to too many arguments being received.
2021-03-16 17:14:42 -04:00
Justin Ethier
6edbd8cd57
Prevent compilation warninG
2021-03-14 21:22:14 -04:00
Justin Ethier
27484cd4a4
Convert from macro
...
This makes everything cleaner since the macro was only used in one place, defeating the purpose.
2021-03-13 23:07:21 -05:00
Justin Ethier
1e91243b16
Cleanup and bug fixes
2021-03-12 22:00:32 -05:00
Justin Ethier
c2274aed52
Fix off-by-one errors
2021-03-12 15:04:35 -05:00
Justin Ethier
4878149af0
Fix off-by-one error
2021-03-12 12:31:39 -05:00
Justin Ethier
fcfaec65aa
Bug fixes
2021-03-11 22:34:53 -05:00
Justin Ethier
b507485f55
Port dispatch_apply to new calling convention
2021-03-06 22:07:11 -05:00
Justin Ethier
eca1956400
Merge remote-tracking branch 'origin/master' into cargs2-dev
2021-03-06 21:37:23 -05:00
Justin Ethier
6c99e95ddb
Merge pull request #452 from arthurmaciel/master
...
Cleaned-up timing code
2021-03-05 22:23:29 -05:00
Arthur Maciel
535f2737b1
Cleaned-up timing code
2021-03-05 22:57:33 -03:00
Justin Ethier
ee11bc0ab0
Merge branch 'master' into cargs2-dev
2021-03-04 22:58:11 -05:00
Justin Ethier
2880301d69
Issue #450 - Updated the runtime to avoid a race condition when creating new symbols
2021-03-04 18:02:48 -05:00
Justin Ethier
d590904894
Porting function callling conventions
2021-02-26 22:31:02 -05:00