Commit graph

269 commits

Author SHA1 Message Date
Justin Ethier
95c3fea24f Issue #433 - Working numerator/denominator 2021-07-22 17:12:56 -04:00
Justin Ethier
f17102178b Continue building-out new numerator/denominator 2021-07-21 19:47:42 -07:00
Justin Ethier
29033581ad Issue #467 - Allow passing negative value to make-list
This should result in an empty list, NOT consume all available resources!
2021-07-19 17:04:52 -04:00
Justin Ethier
c58a9927ae Issue #404 - Do not require all fields to be listed in constructor 2021-07-19 16:56:06 -04:00
Justin Ethier
358fe01fc2 Issue #211 - production version of (char-ready?) 2021-06-08 13:38:33 -04:00
Arthur Maciel
1d1cd8d61f Unless/when don't have alternate clause 2021-01-22 22:25:29 -03:00
Justin Ethier
b218aacf65 Clean up cruft 2020-12-22 17:03:37 -05:00
Justin Ethier
a5fb3b1b14 Allow (vector?) to recognize and disregard record types 2020-12-21 23:00:43 -05:00
Justin Ethier
cc3c8f5bac WIP refactoring record marker
Idea here is to use a new record marker that is guaranteed to be unique and that will be faster to compare against in the C runtime.
2020-12-21 21:50:07 -05:00
Justin Ethier
2c5d9eeb8d Added record-marker2 2020-12-20 22:46:27 -05:00
Sean Lynch
623f59a84d Fix a crash in record predicates
Ensures that the argument to a record predicate has enough items to be a
record before checking for the record-marker and type name.
2020-12-19 12:19:25 -08:00
Justin Ethier
e257b009c4 Merge branch 'master' of github.com:justinethier/cyclone 2020-08-18 22:14:24 -04:00
Justin Ethier
746d308a75 Fix regression in is-a? 2020-08-18 22:14:09 -04:00
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