mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
WIP
This commit is contained in:
parent
ee7e55ae8a
commit
4f006d742f
2 changed files with 16 additions and 15 deletions
27
TODO
27
TODO
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue