This commit is contained in:
Justin Ethier 2015-08-21 20:30:39 -04:00
parent ee7e55ae8a
commit 4f006d742f
2 changed files with 16 additions and 15 deletions

27
TODO
View file

@ -10,12 +10,25 @@ Working TODO list. should start creating issues for these to get them out of her
move macro code to that module
if necessary, write makefile directive to automate rebuilding cyclone for macro development
- clean up runtime
- fix up return_ macros, remove cgen comments
- remove unused runtime globals, rename others to make more sense
- need multiple closure types? maybe just migrate closureN to closure?
- remove unused code, old comments, etc
- clean up runtime-main.h
- macros
- next steps:
- how should ex rename/compare work? check working implementations, papers
- how should ex rename/compare work? check working implementations, papers. find test cases that cyclone does not handle right now
- review 4 cases below for handling macro expansion. I think there are still some outstanding issues
with respect to eval'd macros
- check chibi's syntax-rules
- macros within macros, 4 cases:
TODO: explain how each one will be expanded:
- compiled macro within compiled macro - expands fine, a lot of the built-in macros in scheme/base do this
- eval'd macro within compiled macro - ??
- compiled macro within eval'd macro - ??
- eval'd macro within eval'd macro - does not work yet, see test2.scm. would need to be able to add macros to an eval env so they can be seen by subsequent macros that use them
* thought: if we go with meta files, the compiler can revert back
to using compiled macros if we do not install the meta files.
@ -74,18 +87,6 @@ when it does not have to, and slowing down compilation even more
- anything else?
* macros within macros, 4 cases:
TODO: explain how each one will be expanded:
- compiled macro within compiled macro
- eval'd macro within compiled macro
- compiled macro within eval'd macro
- eval'd macro within eval'd macro
- profile cyclone code, see if there are any bottlenecks we can reduce
EG: prof cyclone transforms.sld

View file

@ -42,9 +42,9 @@
;; tbd how this parameter would be combined with eval's global env,
;; because it would need to extend it.
;; could eval expose a function to extend the global env (or any env)?
(test 1 2 3) ; breaks
;(test 1 2 3) ; breaks
;(my-or 1 2 3) ; breaks
(list 'test #t))))
(and 'test 'test2))))
;(define-syntax or