let minReads=(Right 0) mayRaise=[] | catchException "fail" | minReads=(Right 0) | mayRaise=[] | | | | | pushValue (\u1 -> (\u2 -> (\u3 -> u1 (u2 u3)))) | | | minReads=(Right 1) | | | mayRaise=["fail"] | | | pushValue cons | | | minReads=(Right 1) | | | mayRaise=["fail"] | | | pushValue (\u1 -> (\u2 -> u1)) | | | minReads=(Right 1) | | | mayRaise=["fail"] | | | pushValue 'a' | | | minReads=(Right 1) | | | mayRaise=["fail"] | | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | | minReads=(Right 1) | | | mayRaise=["fail"] | | | read ('a' ==) | | | minReads=(Right 1) | | | mayRaise=["fail"] | | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | | minReads=(Right 0) | | | mayRaise=[] | | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | | minReads=(Right 0) | | | mayRaise=[] | | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | | minReads=(Right 0) | | | mayRaise=[] | | | call | | | minReads=(Right 0) | | | mayRaise=[] | | | lift2Value (\u1 -> (\u2 -> u1 u2)) | | | minReads=(Right 0) | | | mayRaise=[] | | | popException "fail" | | | minReads=(Right 0) | | | mayRaise=[] | | | ret | | | minReads=(Right 0) | | | mayRaise=[] | | | | | pushInput | | | minReads=(Right 0) | | | mayRaise=["fail"] | | | lift2Value Term | | | minReads=(Right 0) | | | mayRaise=["fail"] | | | choicesBranch [(\u1 -> u1)] | | | minReads=(Right 0) | | | mayRaise=["fail"] | | | | | | | | | pushValue (\u1 -> u1) | | | | | minReads=(Right 0) | | | | | mayRaise=[] | | | | | ret | | | | | minReads=(Right 0) | | | | | mayRaise=[] | | | | | | | | | raiseException "fail" | | | | | minReads=(Left "fail") | | | | | mayRaise=["fail"] pushValue Term minReads=(Right 0) mayRaise=[] call minReads=(Right 0) mayRaise=[] pushValue Term minReads=(Right 0) mayRaise=[] lift2Value (\u1 -> (\u2 -> u1 u2)) minReads=(Right 0) mayRaise=[] lift2Value (\u1 -> (\u2 -> u1 u2)) minReads=(Right 0) mayRaise=[] ret minReads=(Right 0) mayRaise=[]