summaryrefslogtreecommitdiff
path: root/curtail.txt
blob: b9c88b1032f0668d5c111234b92db4cc54ea9127 (plain)
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


all results must track curtails
 - done

when merging two results that have curtails for the same combinator, use the smaller curtail
 - done
 - actually, shouldn't this be the opposite, given that curtails stand for the highest level that a result is valid at?

when updating a result, replace the curtails with the leftrec level for the current context
 - done

ignore a previous result when the current leftrec level is less than the previous result curtail level for even one of the curtails
 - done

the function to check if reusable needs to take into account a +1 for the combinator being currently memoized
 - done

when depth of a curtail is less than or equal to remaining tokens of input after the furthest finish of a result, that curtail can be deleted?

when depth of curtail plus remaining tokens after furthest finish of a result is less than or equal to total input tokens plus one, curtail can be deleted from a result

when depth of curtail plus remaining tokens after furthest finish of a result is less than or equal to remaining tokens at the start of a result, then curtail can be deleted from result, because in that case it is no longer possible for curtail to happen due to excessive combinator recursion