Commit graph

1617 commits

Author SHA1 Message Date
Justin Ethier
c18ca25ad9 Issue #412 - Support cond-expand when importing deps 2021-01-03 23:09:16 -05:00
Justin Ethier
5a86b70a7b Bump to 2021 2021-01-03 22:05:58 -05:00
Justin Ethier
87f8868da3 Bump release number 2021-01-02 17:40:27 -05: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
bf985615bc Compile record marker objs 2020-12-20 22:51:49 -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
4b3e874f20 Stage next release 2020-12-02 09:44:57 -05:00
Justin Ethier
14e9011552 Bump version 2020-11-19 15:09:25 -05:00
Justin Ethier
66dd53985b Issue #412 - Include expander in call 2020-09-28 13:36:29 -04:00
Justin Ethier
6a1377178a Issue #412 - Fix expand within a cond-expand
Allow these dependencies to be recognized by Cyclone.
2020-09-28 13:32:13 -04:00
Justin Ethier
f0bf9fc1d4 Issue #412 - Handle all cond-expand's
This change allows libraries to expand properly when cond-expand contains multiple sub-expressions. Previously it only worked properly if the sub-expressions were begin's.
2020-09-27 22:12:28 -04:00
Justin Ethier
05d65b15b0 Issue #411 - Treat null/improper lists as consts 2020-09-22 23:04:28 -04:00
Justin Ethier
05fc6fb8ed Rev++ 2020-09-17 17:58:49 -04:00
Justin Ethier
d18b776fa2 Updated force to recursively force promises. 2020-09-15 12:42:02 -04:00
Justin Ethier
5fbdc54628 More robust version of (scheme lazy) 2020-09-09 22:28:00 -04:00
Justin Ethier
82d7c56def Finish TODO 2020-09-02 18:31:39 -04:00
Justin Ethier
f086955059 Added TODO 2020-09-02 18:14:01 -04:00
Justin Ethier
dc30dba735 Expand library before reading imports 2020-09-02 18:10:41 -04:00
Justin Ethier
26a7542d18 Enclose (include) code in (begin) 2020-09-01 18:57:23 -04:00
Justin Ethier
857c98fb87 Expand contents of cond-expand with a begin context 2020-08-29 19:16:19 -04:00
Justin Ethier
ea2f44a318 Increase version 2020-08-19 10:05:21 -04: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
91184d982d Bump to 0.20 2020-08-14 16:56:30 -04:00
Justin Ethier
bbbe9ecd40 Warn if not enough args passed 2020-08-01 18:30:24 -04:00
Justin Ethier
365b19fca7 Issue #398 - Support for all anonymous lambda's 2020-07-30 18:57:12 -04:00
Justin Ethier
ffdeaa96e3 Added (drop) 2020-07-30 18:57:00 -04:00
Justin Ethier
2a6ba9bee4 Convert anonymous pure vars
Express these functions using a "regular" lambda since the arguments are well-known. This prevents issues further downstream and should generate faster code as well.
2020-07-30 17:43:25 -04:00
Justin Ethier
ab4f21fcc8 Issue #355 - Import renamed identifiers
Ensure renamed identifiers are loaded into the environment when performing an import.
2020-07-28 17:49:44 -04:00
Justin Ethier
b350a0cf33 Prevent overwritting evn's when importing from repl 2020-07-27 17:53:31 -04:00
Justin Ethier
152a210619 Cleanup (scheme write) imports, keep top env on import 2020-07-27 16:43:14 -04:00
Justin Ethier
d1630c6a4f Allow (load) to read source location information 2020-07-23 15:52:36 -04:00
Justin Ethier
7dd6ddfc71 Make error messages with location info consistent 2020-07-23 12:44:12 -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
7794cbd98f Allow (include) to read line information 2020-07-21 12:42:50 -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