Commit graph

1527 commits

Author SHA1 Message Date
Justin Ethier
f7fe5dbf11 Unpack args array 2021-02-09 22:39:57 -05:00
Justin Ethier
d162dd8fbc WIP - unpacking args 2021-02-09 17:38:49 -05:00
Justin Ethier
f428d2c4de WIP 2021-02-08 17:17:51 -05:00
Justin Ethier
02fdcd2532 WIP 2021-02-02 22:58:00 -05:00
Justin Ethier
bf1d1e89e3 Revert changes to string-byte-length
This allows us to run the module in the compiler right now
2021-02-02 22:21:43 -05:00
Justin Ethier
ea85c89268 Use new calling conventions for macros 2021-02-02 17:46:33 -05:00
Justin Ethier
f624e68a33 WIP 2021-02-01 23:02:08 -05:00
Justin Ethier
6fc1966f7b Issue #193 - WIP converting functions 2021-01-21 23:04:06 -05:00
Justin Ethier
2afd1b48b7 Use new signature for CPS prototypes 2021-01-20 22:51:54 -05:00
Justin Ethier
eb3250c0f1 Issue #365 - Added (c-compiler-options) expression for libs 2021-01-18 10:46:03 -05:00
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