mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-24 20:45:06 +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
|
move macro code to that module
|
||||||
if necessary, write makefile directive to automate rebuilding cyclone for macro development
|
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
|
- macros
|
||||||
- next steps:
|
- 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
|
- review 4 cases below for handling macro expansion. I think there are still some outstanding issues
|
||||||
with respect to eval'd macros
|
with respect to eval'd macros
|
||||||
- check chibi's syntax-rules
|
- 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
|
* thought: if we go with meta files, the compiler can revert back
|
||||||
to using compiled macros if we do not install the meta files.
|
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?
|
- 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
|
- profile cyclone code, see if there are any bottlenecks we can reduce
|
||||||
EG: prof cyclone transforms.sld
|
EG: prof cyclone transforms.sld
|
||||||
|
|
||||||
|
|
|
@ -42,9 +42,9 @@
|
||||||
;; tbd how this parameter would be combined with eval's global env,
|
;; tbd how this parameter would be combined with eval's global env,
|
||||||
;; because it would need to extend it.
|
;; because it would need to extend it.
|
||||||
;; could eval expose a function to extend the global env (or any env)?
|
;; 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
|
;(my-or 1 2 3) ; breaks
|
||||||
(list 'test #t))))
|
(and 'test 'test2))))
|
||||||
|
|
||||||
|
|
||||||
;(define-syntax or
|
;(define-syntax or
|
||||||
|
|
Loading…
Add table
Reference in a new issue