Justin Ethier
36b9489507
Cleanup error message on invalid type
2020-08-17 18:15:44 -04:00
Justin Ethier
ed167c71c1
Issue #402 - Type check record type getter/setter
2020-08-17 18:01:43 -04:00
Justin Ethier
b350a0cf33
Prevent overwritting evn's when importing from repl
2020-07-27 17:53:31 -04:00
Justin Ethier
7b079d36d3
Pretty-up the top-level error messages
...
Make the output more readable when we have location information for the error.
2020-07-23 12:38:01 -04:00
Justin Ethier
e6d654b4a4
Prevent line number info from being added twice
...
Since we now call error/loc in the macro expander, it is possible we are double-calling it if a macro is also calling it directly to report a syntax error. We need to detect that case and only add location information (line, column, filename) if it has not already been added to the error message.
2020-07-23 12:23:42 -04:00
Justin Ethier
1670670968
WIP, universal macro exception handler
2020-07-23 12:10:24 -04:00
Justin Ethier
c37e8dfad9
Allow passing more args to error/loc
2020-07-22 22:54:07 -04:00
Justin Ethier
6d30e7449b
Include source location in error messages
2020-07-21 23:05:32 -04:00
Justin Ethier
0d25e5e122
Clean up error messages, provide filename if able
2020-07-21 22:35:47 -04:00
Justin Ethier
de1a97fbe7
Cleanup
2020-07-21 21:45:26 -04:00
Justin Ethier
f5cf3b57ee
Issue #353 - Report location info with syntax errors
2020-07-20 18:49:48 -04:00
Justin Ethier
1ff14cf605
Issue #353 - Clean up error reporting
2020-07-20 18:35:57 -04:00
Justin Ethier
f3c9874e29
WIP
2020-07-20 14:52:46 -04:00
Justin Ethier
858cac4eee
Relocating source list to (scheme base)
2020-07-19 22:58:01 -04:00
Justin Ethier
346a6e4bd5
Issue #369 - Switch over to multi-arg string cmp
2020-06-04 22:48:17 -04:00
Justin Ethier
5bb83cbfc6
Added stub
2020-06-03 19:08:23 -04:00
Justin Ethier
6ace99f5bb
Issue #369 - Switch out inline string cmp ops
2020-06-03 18:52:59 -04:00
Justin Ethier
972b896e2b
Add placeholder
2020-05-25 18:57:55 -04:00
Justin Ethier
d7abe4f8f5
Issue #380 - Support optional args to write-string
2020-05-25 18:20:39 -04:00
Justin Ethier
ac330dfffc
Issue #378 - Return void instaed of null
2020-05-19 23:12:21 -04:00
Justin Ethier
cf6ccc25d9
Issue #377
2020-05-18 18:18:33 -04:00
Justin Ethier
380641ddda
Issue #367 - Allow list-copy to return non-lists
2020-05-13 15:33:39 -04:00
Justin Ethier
f91d5b1a30
Correctly differentiate binary/textual ports
2020-04-02 18:53:10 -04:00
Justin Ethier
b5a9bd24e1
Prevent read-bytevector from corrupting data
...
Previously it was possible for an extra by to be introduced between multiple reads
2020-03-06 12:33:05 -05:00
Justin Ethier
9a464e002e
Bugfix - Allow read-bytevector to return EOF
2020-03-05 23:00:20 -05:00
Justin Ethier
098b30133f
Added TODO
2020-01-02 13:41:19 -05:00
Justin Ethier
40894ecb3e
Added define-values
2020-01-02 13:41:04 -05:00
Justin Ethier
837954b310
Use read-bytevector!
from Chibi
2019-12-29 18:10:05 -05:00
Justin Ethier
48ce2709b9
Placeholders for bin/txt port prims
2019-12-29 17:58:30 -05:00
Justin Ethier
123c20d60d
WIP: (read-bytevector!)
2019-12-28 19:37:15 -05:00
Justin Ethier
e5dca1835f
Added read-bytevector
2019-12-28 18:55:19 -05:00
Justin Ethier
02fcad76f6
Added write-bytevector
2019-12-28 18:22:35 -05:00
Justin Ethier
734d40a44d
Faster constructor for record types
...
TODO: validate number of args passed to record type constructor
2019-11-06 13:30:36 -05:00
Justin Ethier
838240fceb
Avoid computing (length args) twice
2019-11-06 12:07:42 -05:00
Justin Ethier
c9921ce69a
Fix libtommath warnings
2019-10-23 13:24:13 -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
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
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
0c050a3065
Added platform to (features)
2019-07-31 13:06:31 -04:00
Justin Ethier
f0b84ce122
Set immutable flag
2019-05-01 17:41:47 -04:00
Justin Ethier
12d6cbce5a
Use explicit if's instead of memv for case
...
Theory is the generated code can make better use of the processor cached when using explicit if statements than aggregating over a list via memv, since pairs in the list can be located anywhere across memory.
2019-03-20 17:39:55 -04:00
Justin Ethier
1f7212a964
Faster version of _list-index
2019-03-14 15:43:36 -04:00
Justin Ethier
d9f63a85b4
Revert previous change
2019-02-27 16:03:19 -05:00
Justin Ethier
1f8a824bda
More efficient record type construction
2019-02-27 15:44:50 -05:00
Justin Ethier
8772c5355b
Faster initialization of objects create via define-record-type
2019-02-27 14:31:14 -05:00
Justin Ethier
0f0beb024c
Do not use vector-set when creating record types
...
This improves performance as mutations force the GC to do more work.
2019-02-27 10:29:18 -05:00
Justin Ethier
6bfff4b6ed
Perform fixnum type check
2019-02-19 13:17:33 -05:00
Justin Ethier
2d9ba5a9e3
New version of (list?)
2018-12-12 13:43:47 -05:00
Justin Ethier
74e56aeb2f
Issue #280 - Cyc-add-feature!
2018-11-10 06:39:13 -05:00
Justin Ethier
d9b0adc8c1
Issue #277
2018-10-01 17:05:52 -04:00