Cleaned up TODO list

This commit is contained in:
Justin Ethier 2015-04-13 13:59:22 -04:00
parent a5c1d01653
commit bbf7c2a568

11
TODO
View file

@ -1,5 +1,9 @@
Working TODO list: Working TODO list:
- Fixup Cyc_sum to use varargs and call (error) if anything bad happens. then generalize to - * /
- need an error() function that will call (error) from the C runtime
useful for, EG, type checking
- make *trace-level* a command-line parameter, and by default do not emit scheme code transformations in comments
- Reduction in size of generated code - Reduction in size of generated code
is there anything we can do? is there anything we can do?
are closures being packed/unpacked unnecessarily? are closures being packed/unpacked unnecessarily?
@ -13,16 +17,13 @@ Working TODO list:
#;10> (cps-convert '(+ 1 (+ 2 2) (+ 3 3))) #;10> (cps-convert '(+ 1 (+ 2 2) (+ 3 3)))
((lambda (r$632) ((lambda (r$633) (%halt (+ 1 r$632 r$633))) (+ 3 3))) (+ 2 2)) ((lambda (r$632) ((lambda (r$633) (%halt (+ 1 r$632 r$633))) (+ 3 3))) (+ 2 2))
yes, but what can we do when a function is applied to more than just literals? are there still opportunities for optimization?
may need to look through icyc.c for examples
- Simple idea about local variable elimination: - Simple idea about local variable elimination:
http://www.pvk.ca/Blog/2012/02/19/fixed-points-and-strike-mandates/ http://www.pvk.ca/Blog/2012/02/19/fixed-points-and-strike-mandates/
- need an error() function that will call (error) from the C runtime
useful for, EG, type checking
- make *trace-level* a command-line parameter
- Error handling - Error handling
need to perform much more error handling of input code. one of the biggest is to report if a function is passed the wrong number of arguments, as this will result in segfauls, bad transport errors, etc downstream if it is allowed. need to perform much more error handling of input code. one of the biggest is to report if a function is passed the wrong number of arguments, as this will result in segfauls, bad transport errors, etc downstream if it is allowed.