-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathideas
45 lines (31 loc) · 1.73 KB
/
ideas
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
Possible issues:
-alphabet clashes between segments
-Make each part have its own State class?
Current issues:
Invariants:
-In the multi-tape abstraction, no head may be to the right of an E symbol.
-In the multi-tape abstraction, there may be no underscores except before the expression of the number and after the expression of the number
-In the multi-tape abstraction, position 0 may never be occupied by an underscore.
-In the multi-tape abstraction, you may not switch variables unless there is exactly one E_ pattern per variable.
-In no TURD program can a list2 contain empty lists.
Possible optimizations:
-Could try to remove identical transition states
-Be able to "pre-prune" error states in the two-symbol version
-At both the top level and the middle level, make more error states
-At bottom level, at least make it ignore the impossible symbol
-Could make the variable labels use base |a| instead of base 1
-Make sure we never move right on top of underscores when we don't need to
-The vertexhasedge function was coded super inefficiently; if I had been cleverer I could have reduced it by a factor of four
-Can merge greater than + equals call in sort.tfn
-Maybe sort.tfn should use a merge sort??
Usability concerns:
-Make actual comments?
-Could allow "if [simple expression] then goto LABEL"
General sources of possible bugs in the finished program:
-Functions only actually work if 0's are passed into the internal variables
-Functions can't handle inputs of 0 or [empty]
-The sort function is a hot mess and needs more testing
Missing error messages:
-No messages for the most part for undefined variables
The list2 problem:
Best current sol'n: make EE the meta-delineator; add 1 to every entry of the mini-list. Fucking disgusting, I know.