From 5151b67afa172752565cba6288ad5ea5bb9d0110 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 20 May 2026 21:52:54 +0200 Subject: [PATCH] detect and preserve terms that cannot be evaluated --- src/compiler/api/GF/Compile/Compute.hs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/compiler/api/GF/Compile/Compute.hs b/src/compiler/api/GF/Compile/Compute.hs index 2c625eeb1..76400d7d7 100644 --- a/src/compiler/api/GF/Compile/Compute.hs +++ b/src/compiler/api/GF/Compile/Compute.hs @@ -574,6 +574,9 @@ patternMatch g s v0 ((env0,ps,args0,t):eqs) = match env0 ps eqs args0 (p, VGen i vs) -> v0 (p, VSusp i k vs) -> VSusp i (\v -> match' env p ps eqs (apply g (k v) vs) args) [] (p, VFV s vs) -> VFV s (fmap (\arg -> match' env p ps eqs arg args) vs) + (p, VP _ _ _) -> v0 + (p, VS _ _ _) -> v0 + (p, VSymCat _ _ _) -> v0 (PP q qs, VApp r vs) | q == r -> match env (qs++ps) eqs (vs++args) (PR pas, VR as) -> matchRec env (reverse pas) as ps eqs args