freenode/#clasp - IRC Chatlog
Search
7:05:18
Bike
i think another example with types would be... (if (typeq (if (test) a b) ...) (typeq ...)). has the same block structure
7:15:41
Bike
i guess a more general path replication check would be an input to a test being defined by both predecessors to some instruction, and nothing between that instruction and the test outputting to one of the test's inputs
14:48:01
beach
Whenever a control arc is removed, the type information of some variable in the node in its head may have changed. So whenever you remove a control arc because some variable has the type NIL there, then you need to re-run the inference.
14:51:34
beach
Because other variables than the one that caused the control arc to be removed may have different types in the head and its successors now.
14:57:50
Bike
because of how kildall works i can do it equivalently by putting in a check where if any variable is nil it doesn't go down that control path.
16:16:49
beach
HAH, the entire Earley parsing framework is less than 600 lines of code. That should be compared to 1400 lines of code for parsing lambda lists in Cleavir code utilities.
16:17:25
beach
In all fairness, the Earley parsing framework still doesn't quite work, but most of the code is in there.
16:30:00
beach
Also, at the moment, I am testing it on ordinary Common Lisp lists. Once that works, I'll switch over to CSTs.