summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/Compute
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/GF/Compile/Compute')
-rw-r--r--src/compiler/GF/Compile/Compute/ConcreteNew.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/GF/Compile/Compute/ConcreteNew.hs b/src/compiler/GF/Compile/Compute/ConcreteNew.hs
index c853458f8..22df5301b 100644
--- a/src/compiler/GF/Compile/Compute/ConcreteNew.hs
+++ b/src/compiler/GF/Compile/Compute/ConcreteNew.hs
@@ -378,7 +378,7 @@ vapply v vs =
VError {} -> v
-- VClosure env (Abs b x t) -> beta gr env b x t vs
VAbs bt _ (Bind f) -> vbeta bt f vs
- VApp pre vs1 -> err msg id $ delta pre (vs1++vs)
+ VApp pre vs1 -> err msg vfv $ mapM (delta pre) (varyList (vs1++vs))
where
--msg = const (VApp pre (vs1++vs))
msg = bug . (("Applying Predef."++showIdent (predefName pre)++": ")++)
@@ -394,6 +394,10 @@ vbeta bt f (v:vs) =
ap (VFV avs) = vfv [vapply (f v) vs|v<-avs]
ap v = vapply (f v) vs
+vary (VFV vs) = vs
+vary v = [v]
+varyList = mapM vary
+
{-
beta env b x t (v:vs) =
case (b,v) of