Commit graph

1252 commits

Author SHA1 Message Date
Justin Ethier
be25f055f0 If param is referenced in a loop (but defined outside) do not inline function into the loop 2018-05-24 16:37:04 -04:00
Justin Ethier
5a73c7b83e Integrate finding named let's 2018-05-23 18:28:33 -04:00
Justin Ethier
e92be3e80b Integrating code to find named lets 2018-05-23 14:00:51 -04:00
Justin Ethier
7dbfb64205 Added helper functions for SEXP/AST conversions
Added: ast:ast->sexp and ast:sexp->ast
2018-05-22 12:45:17 -04:00
Justin Ethier
e705824a6d Less verbose CPS debug printing 2018-05-21 13:31:37 -04:00
Justin Ethier
df0f325c00 Issue #55 2018-05-16 14:15:45 -04:00
Justin Ethier
75e48f999f Issue #55 - Support (inexact) for complex 2018-05-15 13:15:53 -04:00
Justin Ethier
1fcf947dd3 Complex number support 2018-05-14 14:20:24 -04:00
Justin Ethier
689a1d552a Issue #55 - Compile complex number literals 2018-05-11 16:06:39 -04:00
Justin Ethier
db7dc029b4 Build-out of (scheme complex) 2018-05-07 22:16:56 -04:00
Justin Ethier
335be69a12 Make (complex? z) work 2018-05-10 13:39:30 -04:00
Justin Ethier
11931bca7d Build-out make-rectangular 2018-05-10 13:24:24 -04:00
Justin Ethier
8714206b9f Issue #55 - Create a complex num object 2018-05-07 20:55:02 -04:00
Justin Ethier
7e8e82065d Bump to 0.8 2018-05-09 13:44:14 -04:00
Justin Ethier
c480470123 Issue #55 - parse out read and imag for complex 2018-05-09 13:41:39 -04:00
Justin Ethier
9e17ea628b Issue #55 - WIP parsing complex numbers 2018-05-07 19:11:12 -04:00
Justin Ethier
c1cdad0065 Issue #257 - Prevent possible infinite loop 2018-05-04 02:17:01 +00:00
Justin Ethier
cf711ffd0f Added (repl) 2018-04-30 20:21:29 -04:00
Justin Ethier
ebc68e6746 Issue #248 - Ensure unique lambda ID's/args
During a beta expansion, renumber lambda ID's and rename lambda args if necessary so that we do not introduce duplicates. Dupes are a problem as they throw of the analysis DB and can lead to the optimizer inserting the wrong values when code is optimized-out.
2018-03-24 19:23:30 -04:00
Justin Ethier
282fb0793c Added (ast:get-next-lambda-id!) 2018-03-24 18:40:30 -04:00
Justin Ethier
a750383cd1 Version bump 2018-02-15 18:29:58 -05: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
4a3c68a7d3 Prevent a compiler error when there is only one argument to + or *. 2018-02-01 17:42:05 -05:00
Justin Ethier
1d91ace450 Fix slot-ref 2018-02-01 13:25:19 -05:00
Justin Ethier
aafe5f0d68 Record type enhancements 2018-01-31 19:08:47 -05:00
Justin Ethier
2b533fd2a2 Added comment header 2018-01-31 12:44:16 -05:00
Justin Ethier
279d99b373 Relocated file 2018-01-31 12:44:02 -05:00
Justin Ethier
958ad75e78 Put renamed macro sym in use env
Then it is available for use by compare
2018-01-28 19:00:09 -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