From 80fe693546552eed32135cf01195954f4f812760 Mon Sep 17 00:00:00 2001 From: hallgren Date: Sat, 16 Mar 2013 13:36:23 +0000 Subject: Fix a problem with pattern macros in pre { } expressions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The old partial evaluator has special rules to convert pattern macros in pre { } expressions. These rules were missing in the new partial evaluator. --- src/compiler/GF/Compile/Compute/ConcreteNew.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/compiler/GF/Compile/Compute') diff --git a/src/compiler/GF/Compile/Compute/ConcreteNew.hs b/src/compiler/GF/Compile/Compute/ConcreteNew.hs index 22df5301b..d35890930 100644 --- a/src/compiler/GF/Compile/Compute/ConcreteNew.hs +++ b/src/compiler/GF/Compile/Compute/ConcreteNew.hs @@ -436,12 +436,14 @@ value2term loc xs v0 = VC v1 v2 -> C (v2t v1) (v2t v2) VS v1 v2 -> S (v2t v1) (v2t v2) VP v l -> P (v2t v) l + VPatt p -> EPatt p -- hmm +-- VPattType v -> ... VAlts v vvs -> Alts (v2t v) (mapBoth v2t vvs) VStrs vs -> Strs (map v2t vs) -- VGlue v1 v2 -> Glue (v2t v1) (v2t v2) VExtR v1 v2 -> ExtR (v2t v1) (v2t v2) VError err -> Error err - _ -> bug ("value2term "++show loc++" "++show v0) + _ -> bug ("value2term "++show loc++" : "++show v0) where v2t = value2term loc xs v2t' x f = value2term loc (x:xs) (f (gen xs)) -- cgit v1.2.3