From 4c24fc904db25215583883f1f09bc2d1d3945ee9 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Fri, 21 Mar 2025 07:00:58 +0100 Subject: [PATCH] another case for evaluation under a table --- src/compiler/api/GF/Compile/Compute/Concrete2.hs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/compiler/api/GF/Compile/Compute/Concrete2.hs b/src/compiler/api/GF/Compile/Compute/Concrete2.hs index 715fb69b8..02664aefb 100644 --- a/src/compiler/api/GF/Compile/Compute/Concrete2.hs +++ b/src/compiler/api/GF/Compile/Compute/Concrete2.hs @@ -755,13 +755,22 @@ value2termM flat xs (VS v1 v2 vs) = case v1 of VT vty env s cs -> do ty <- value2termM flat xs vty + g <- globals cs <- forM cs $ \(p,t) -> do let (_,xs',env') = pattVars (length xs,xs,env) p - g <- globals t <- value2termM flat xs' (eval g env' s t vs) return (p,t) t2 <- value2termM flat xs v2 return (S (T (TTyped ty) cs) t2) + + VV vty vs' -> do + ty <- value2termM flat xs vty + g <- globals + ts <- forM vs' $ \v -> + value2termM flat xs (apply g v vs) + t2 <- value2termM flat xs v2 + return (S (V ty ts) t2) + v1 -> do t1 <- value2termM flat xs v1 t2 <- value2termM flat xs v2