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