-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
52 lines (42 loc) · 1.3 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
* Rakefile
- Need to 'build' the project by concatenating the scripts together in the
proper order.
* Types
- Need a special type to handle uneven division, such that '(/ 1 2)' is
internally represented as '1/2' until it's coerced into a floating point
value. This also includes interpreting values like '1/2' as fractions.
* More special forms
- case
- (define _form_ _expr_)
- lambda
- mostly done, recursion still iffy
* More primitives
- boolean?
- char?
- display
- list
- pair?
- probably need to implement pairs
- procedure?
- sin
- sqrt
- string?
- symbol?
- vector?
* More compiled functions
- number->string
- basic form working
- still needs radix
- still needs type checking/error handling
- 1st arg is not a number
- 2nd arg is not a number
- 2nd arg is not a valid radix
* Existing functions
- Implement type checking for existing function and special form implementations
- using the appropriate messages
* Learn and implement associative lists
* Learn and implement list mapping
* Interpreter needs to be further separated from the environment
- need a reset function to clear all user defined values AND/OR
- need to make an instantiatable class out of it
- will need to be able to dump and load state (JSON?)