summaryrefslogtreecommitdiff
path: root/devel/compiler/TMacros.hs
diff options
context:
space:
mode:
Diffstat (limited to 'devel/compiler/TMacros.hs')
-rw-r--r--devel/compiler/TMacros.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/devel/compiler/TMacros.hs b/devel/compiler/TMacros.hs
index 467b6ce4f..f06c34d6d 100644
--- a/devel/compiler/TMacros.hs
+++ b/devel/compiler/TMacros.hs
@@ -11,6 +11,10 @@ compVal args = comp where
VRec vs -> VRec $ map comp vs
VPro r p -> case (comp r, comp p) of
(VRec vs, VPar i) -> vs !! fromInteger i
- VArg i -> args !! fromInteger i
+ (r',p') -> VPro r' p' ---- not at runtime
+ VArg j
+ | i < length args -> args !! i ---- not needed at runtime
+ | otherwise -> val ---- not the right thing at compiletime either
+ where i = fromInteger j
VCat x y -> VCat (comp x) (comp y)
_ -> val