Commit graph

1638 commits

Author SHA1 Message Date
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
Justin Ethier
f4ac3c7cb7 WIP 2020-07-17 23:34:46 -04:00
Justin Ethier
cb08f60ec2 Added code to test location storage 2020-07-17 22:23:02 -04:00
Justin Ethier
a4421267e4 Build out infrastructure to save source info
Need to be able to save source object / line number data so we can use it for compiler error messages.
Trying to be careful not to make this hurt performance too much.
2020-07-16 23:10:48 -04:00
Justin Ethier
7751464294 Added TODO's, start to flesh out changes 2020-07-15 23:01:51 -04:00
Justin Ethier
f0aa3343b7 Issue #363 - Explicitly call halt for programs.
This avoids issues with invoking the continuation for `set!` expressions on the last line of a program.
2020-07-09 13:17:39 -04:00
Justin Ethier
0ce773266d Version bump to 0.19 2020-06-12 11:57:59 -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
dba2183191 Avoid use of string-set 2020-06-01 23:12:23 -04:00
Justin Ethier
5081d79dbd
Merge pull request #382 from arthurmaciel/remove-array-list
Removed all traces of array-list from core
2020-05-26 21:41:12 -04:00
Arthur Maciel
1a76af8d9e Removed all traces of array-list from core 2020-05-26 21:09:14 -03:00
Justin Ethier
972b896e2b Add placeholder 2020-05-25 18:57:55 -04:00
Justin Ethier
cf3d2163e4 Add placeholder 2020-05-25 18:56:58 -04:00
Justin Ethier
d7abe4f8f5 Issue #380 - Support optional args to write-string 2020-05-25 18:20:39 -04:00
Justin Ethier
3dc451d016 eqv? behavior per R7RS 2020-05-21 18:12:54 -04:00
Justin Ethier
8effbb64cd Issue #376 - Support for two-argument atan 2020-05-20 22:26:07 -04:00
Justin Ethier
ac330dfffc Issue #378 - Return void instaed of null 2020-05-19 23:12:21 -04:00
Justin Ethier
6e607f4788 Issue #377 - Compile void type 2020-05-19 22:50:22 -04:00
Justin Ethier
d312b0598c WIP 2020-05-18 19:11:11 -04:00
Justin Ethier
cf6ccc25d9 Issue #377 2020-05-18 18:18:33 -04:00
Justin Ethier
f3d519f030 Rev++ 2020-05-17 18:36:27 -04:00
Justin Ethier
81d2e70037 Issue #374 - Allow full access to open-binary prims 2020-05-17 18:35:12 -04:00
Justin Ethier
8a115df516 Merge branch 'foreign-dev' 2020-05-16 19:49:00 -04:00
Justin Ethier
380641ddda Issue #367 - Allow list-copy to return non-lists 2020-05-13 15:33:39 -04:00
Justin Ethier
8fef2ec1ab Fixup c-value to work with new macro 2020-05-04 22:59:51 -04:00
Justin Ethier
cdeeef8b27 WIP 2020-05-04 22:45:44 -04:00
Justin Ethier
d8ed752c9d Remove boolean_f 2020-04-28 19:06:53 -04:00
Justin Ethier
4006ca560d Proof-of-concept for Cyc-foreign-value 2020-04-14 18:57:36 -04:00