Explain strange case in reflectListEffElem!
commita2bf00f808cdde74ddaa67fd92402bd22d25e4c5
authorEdwin Brady <ecb10@st-andrews.ac.uk>
dateSun 22 Dec 2013, 01:40 (13 years ago)
parent5e7fc5d
libs/effects/Effects.idr+4
@@ -69,6 +69,10 @@ reflectListEffElem [] = Refine "Here" `Seq` Solve
6969reflectListEffElem (x :: xs)
7070 = Try (Refine "Here" `Seq` Solve)
7171 (Refine "There" `Seq` (Solve `Seq` reflectListEffElem xs))
72+-- TMP HACK! FIXME!
73+-- The evaluator needs a 'function case' to know its a reflection function
74+-- until we propagate that information! Without this, the _ case won't get
75+-- matched.
7276reflectListEffElem (x ++ y) = Refine "Here" `Seq` Solve
7377reflectListEffElem _ = Refine "Here" `Seq` Solve
7478