From a216c1aa6dd7ed0a608981f23081885616ee7512 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Tue, 11 Jan 2022 13:31:44 +0100 Subject: [PATCH] ensure left-to-right pattern maching of records --- src/compiler/GF/Compile/Compute/Concrete.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/GF/Compile/Compute/Concrete.hs b/src/compiler/GF/Compile/Compute/Concrete.hs index 6e5270a25..020b09439 100644 --- a/src/compiler/GF/Compile/Compute/Concrete.hs +++ b/src/compiler/GF/Compile/Compute/Concrete.hs @@ -319,7 +319,7 @@ patternMatch v0 ((env0,ps,args0,t):eqs) = match env0 ps eqs args0 (p, VSusp i envi k vs) -> susp i envi (\v -> k v >>= \v -> apply v vs >>= \v -> match' env p ps eqs arg v args) (PP q qs, VApp r tnks) | q == r -> match env (qs++ps) eqs (tnks++args) - (PR pas, VR as) -> matchRec env pas as ps eqs args + (PR pas, VR as) -> matchRec env (reverse pas) as ps eqs args (PString s1, VStr s2) | s1 == s2 -> match env ps eqs args (PString s1, VEmpty)