Commit graph

151 commits

Author SHA1 Message Date
Justin Ethier
06219634e9 Issue #537 - Add useful comments 2024-05-21 18:41:41 -07:00
Justin Ethier
1ce4979658 Testing fix for issue #537 2024-05-20 19:31:38 -07:00
Justin Ethier
f8555f796d Issue #489 - Guarantee order of eval begin exprs
Guarantee that sub-expressions of a begin are evaluated in order. The code was reversing the results of a map. However map is not necessarily guaranteed to evaluate its arguments in any given order because it could be optimized into another function such as `Cyc-map-loop-1`. Instead we just use the optimized function directly as a more general `map` is not required here and this function is guaranteed to process its argument list in a predicable order.
2022-07-21 21:41:47 -04:00
Justin Ethier
f8717517a4 Issue #480 - Make (expand) easier to use
Only require a single expression argument. The remaining environment arguments are generally not required when debugging from the REPL. This makes expand much easier to use for casual debugging.
2021-08-25 17:47:55 -04:00
Justin Ethier
dd294c78ad Issue 395 - Cleanup, use _expand instead of macro:expand 2021-07-29 22:58:29 -04:00
Justin Ethier
5911336d16 WIP - first attempt to clean eval macro's
This seemed promising but fails when compiling cyclone:

    cyclone -A . srfi/106.sld
    Error at line 376, column 5 of srfi/106.sld: Unbound variable:
    unquote
2021-07-27 16:39:13 -04:00
Justin Ethier
c82e69a997 Added import-shared-object 2021-02-23 15:18:38 -05:00
Justin Ethier
c18ca25ad9 Issue #412 - Support cond-expand when importing deps 2021-01-03 23:09:16 -05:00
Justin Ethier
66dd53985b Issue #412 - Include expander in call 2020-09-28 13:36:29 -04:00
Justin Ethier
05d65b15b0 Issue #411 - Treat null/improper lists as consts 2020-09-22 23:04:28 -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
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
152a210619 Cleanup (scheme write) imports, keep top env on import 2020-07-27 16:43:14 -04:00
Justin Ethier
1670670968 WIP, universal macro exception handler 2020-07-23 12:10:24 -04:00
Justin Ethier
d312b0598c WIP 2020-05-18 19:11:11 -04:00
Justin Ethier
81d2e70037 Issue #374 - Allow full access to open-binary prims 2020-05-17 18:35:12 -04:00
Justin Ethier
29b2872f54 Issue #361 - Ensure bound vars are known within scope 2020-03-05 17:40:15 -05:00
Justin Ethier
02fa091297 Issue #336 - Validate num of args passed to if 2019-09-04 13:07:02 -04:00
Justin Ethier
f211d350e0 Issue #331 - Ensure map evaluates in order
Reverse so everything is evaluated in order, then reverse again so final results are in order.
2019-08-07 13:29:43 -04:00
Justin Ethier
80b861664a Issue #331 - Ensure definitions from begin's are spliced in 2019-08-06 22:06:43 -04:00
Justin Ethier
2d398573a5 WIP 2019-08-05 18:39:44 -04:00
Justin Ethier
abe40532c3 Include missing arg 2019-05-21 17:46:33 -04:00
Justin Ethier
6920b8f568 Set immutable for evaluated quotes 2019-05-21 13:06:51 -04:00
Justin Ethier
27469be2ef Fix typo 2019-03-27 13:18:17 -04:00
Justin Ethier
00c2ab4e39 Remove dead code 2018-02-15 17:42:11 -05:00
Justin Ethier
8064ebef5f Issue #243 - Edge case that comes up w/match
This was never handled properly but never noticed it until doing expansions for the match macros.
2018-02-15 17:09:18 -05:00
Justin Ethier
41dc8ff120 Speedup local env lookup 2018-02-14 13:00:54 -05:00
Justin Ethier
488b6e162c Adding temporary debug traces 2018-02-13 19:05:41 -05:00
Justin Ethier
e81f5b72bd Enable renaming of lambda vars in analyze 2018-02-13 13:23:02 -05:00
Justin Ethier
5e2df83b2d Added local-renamed placeholder
There are complications with just enabling this, though
2018-02-08 23:36:38 -05:00
Justin Ethier
99ca3323b0 Remove debug output 2018-02-08 22:42:21 -05:00
Justin Ethier
cfe4c90b5c Experimenting with using macro:expand 2018-02-08 17:49:05 -05:00
Justin Ethier
acde9d9b30 Added debugging code 2018-02-07 19:20:57 -05:00
Justin Ethier
ee0b7c181c Experimenting with rename-env
Define a single env and pass it through (analyze) to allow for more powerful macro expansions.
2018-02-06 18:23:50 -05:00
Justin Ethier
85df40fa1c WIP, staging changes to fix match macro 2018-02-06 13:34:45 -05:00
Justin Ethier
2c9e9e7a39 Allow local vars to shadown primitives 2018-01-19 16:45:44 -05:00
Justin Ethier
183b3c5eb2 Additional safety check for empty env 2018-01-19 11:56:10 -05:00
Justin Ethier
338c195e81 Keep local renames with define-syntax and letrec-syntax macros 2018-01-18 18:41:07 -05:00
Justin Ethier
bf9591c451 Basic way to preserve local env within macro 2018-01-18 13:26:48 -05:00
Justin Ethier
144c5845fc Fixes for renaming local bindings
Still need to associate them with a macro
2018-01-16 19:46:16 -05:00
Justin Ethier
435fefe6d0 WIP 2018-01-17 17:50:45 -05:00
Justin Ethier
32361ddced Added a TODO 2018-01-17 16:53:23 -05:00
Justin Ethier
6c456ff10d WIP 2018-01-15 19:02:54 -05:00
Justin Ethier
d549722cc4 WIP 2018-01-15 18:05:16 -05:00
Justin Ethier
12d16dfbbe Cleanup from previous changes, added missing args 2018-01-15 12:53:16 -05:00
Justin Ethier
910662135b WIP 2018-01-14 18:53:29 -05:00
Justin Ethier
d12b628657 Added TODO's 2018-01-13 18:47:50 -05:00
Justin Ethier
7d7ae2e89e Cleanup, removed dead code 2017-12-17 18:44:37 -05:00