From a8f281491c7285282b7084e1c0d0da2d73e9a127 Mon Sep 17 00:00:00 2001 From: hallgren Date: Fri, 11 Jan 2013 15:14:42 +0000 Subject: [PATCH] partial evaluator: fix token glueing bug "a"+("b"++"c") was simplified to "bb"++"c" instead of "ab"++c. --- src/compiler/GF/Compile/Compute/ConcreteNew.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/GF/Compile/Compute/ConcreteNew.hs b/src/compiler/GF/Compile/Compute/ConcreteNew.hs index 70860fb62..8010f3b15 100644 --- a/src/compiler/GF/Compile/Compute/ConcreteNew.hs +++ b/src/compiler/GF/Compile/Compute/ConcreteNew.hs @@ -235,7 +235,7 @@ glue vv = case vv of x' <- strsFromValue v1 return $ vfv [foldr1 VC (map VString (str2strings (glueStr v u))) | v <- x', u <- y'] (VC va vb,v2) -> VC va (glue (vb,v2)) - (v1,VC va vb) -> VC (glue (va,va)) vb + (v1,VC va vb) -> VC (glue (v1,va)) vb (VS (VV ty pvs vs) vb,v2) -> VS (VV ty pvs [glue (v,v2)|v<-vs]) vb (v1,VS (VV ty pvs vs) vb) -> VS (VV ty pvs [glue (v1,v)|v<-vs]) vb -- (v1,v2) -> ok2 VGlue v1 v2