/
criteria
22 lines (21 loc) · 1.15 KB
/
criteria
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Probably the biggest question is what language we want to use. We'll be
spending a huge amount of time writing whatever it is. We need some criteria:
* how easy is the language to learn for people accustomed to C
* does the language has an object system? We'll be implementing cmop (6model)
in it, so the object system needs to be either self-hosting or non-existent
* how efficiently does the language map to M0? We want to generate efficient
M0 and to have a clear idea of what the M0 for a given snippet looks like
* it shouldn't allow things that don't make sense in M0 (not sure what this means)
* the language should allow CPS stuff, either directly or indirectly.
Indirectly is probably easier.
* need distinction between compile-time and runtime constructs
* need typed variables
* something struct-like
* a way to define M1 ops composed from M0 ops
* light syntax, easy to implement, no optimizations
* if we want macros, they need to be way smaller than C's
* function-like casts will make the language much easier to parse visually
* int* x, y; means two int*
* easy to parse
* question: INSP only or something more fine-grained?
*