I've been toying with the idea of making a scheme interepreter / compiler for the TI-84+ series (B&W,CSE,CE), but I want to get some opinions on it before I do.
What first inspired the idea is that parsing scheme is pretty easy to do, the complex parts are the actual implementation of the language, so it seems like a fun project.
And, since it's easy to parse, it makes it a good choice for something which can also be interpreted/compiled on-calc.
What I want to get some opinions on though:
1. Has anyone already done this? Am I just repeating someone else's efforts?
2. Would anyone actually use this besides me?
3. Could this be useful for doing actual math on the calculator? (particularly with an interactive prompt)
4. Realsitically I feel like I'd have to deviate from the spec at some point when it comes to numbers. Where do I draw the line?
Do I allow for integers only up to N bytes or do I let them fill all available ram?
Do I implement Real numbers as fixed-point, or do I make them TI floats and use the TI routines to deal with them?
Do I even implement complex numbers at all?
etc.
These sort of questions have come up a lot to me while reading through the spec.
I suppose the question that the last two points are really asking is: Would it be better to focus on such an idea as a tool for calculations and utility programs, or as a tool for graphics heavy / performance intensive programs such as games?
For reference I was thinking specifically of using the R5RS spec as a starting point.
What first inspired the idea is that parsing scheme is pretty easy to do, the complex parts are the actual implementation of the language, so it seems like a fun project.
And, since it's easy to parse, it makes it a good choice for something which can also be interpreted/compiled on-calc.
What I want to get some opinions on though:
1. Has anyone already done this? Am I just repeating someone else's efforts?
2. Would anyone actually use this besides me?
3. Could this be useful for doing actual math on the calculator? (particularly with an interactive prompt)
4. Realsitically I feel like I'd have to deviate from the spec at some point when it comes to numbers. Where do I draw the line?
Do I allow for integers only up to N bytes or do I let them fill all available ram?
Do I implement Real numbers as fixed-point, or do I make them TI floats and use the TI routines to deal with them?
Do I even implement complex numbers at all?
etc.
These sort of questions have come up a lot to me while reading through the spec.
I suppose the question that the last two points are really asking is: Would it be better to focus on such an idea as a tool for calculations and utility programs, or as a tool for graphics heavy / performance intensive programs such as games?
For reference I was thinking specifically of using the R5RS spec as a starting point.