on master help sign in
Explain strange case in reflectListEffElem!
commita2bf00f808cdde74ddaa67fd92402bd22d25e4c5 authorEdwin Brady <ecb10@st-andrews.ac.uk> dateSun 22 Dec 2013, 01:40 (13 years ago) parent5e7fc5d
1 file changed+4
libs/effects/Effects.idr+4
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