diff options
Diffstat (limited to 'src/compiler/GF/Compile/Compute/Predef.hs')
| -rw-r--r-- | src/compiler/GF/Compile/Compute/Predef.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/GF/Compile/Compute/Predef.hs b/src/compiler/GF/Compile/Compute/Predef.hs index 0900f3665..0e02402f7 100644 --- a/src/compiler/GF/Compile/Compute/Predef.hs +++ b/src/compiler/GF/Compile/Compute/Predef.hs @@ -75,7 +75,7 @@ predefList = (cIsUpper,IsUpper),(cLength,Length),(cPlus,Plus),(cEqInt,EqInt), (cLessInt,LessInt), -- cShow, cRead, cMapStr, cEqVal - (cError,Error), + (cError,Error),(cTrace,Trace), -- Canonical values: (cPBool,PBool),(cPFalse,PFalse),(cPTrue,PTrue),(cInt,Int), (cInts,Ints),(cNonExist,NonExist) @@ -101,6 +101,7 @@ delta f vs = LessInt -> ap2 ((<)::Int->Int->Bool) {- -- | Show | Read | ToStr | MapStr | EqVal -} Error -> ap1 VError + Trace -> ap2 vtrace -- Canonical values: PBool -> canonical Int -> canonical @@ -129,6 +130,9 @@ delta f vs = | null [v | v@(VApp NonExist _) <- vs] = b | otherwise = return (toValue a) + vtrace :: Value -> Value -> Value + vtrace x y = y -- tracing is implemented elsewhere + -- unimpl id = bug $ "unimplemented predefined function: "++showIdent id -- problem id vs = bug $ "unexpected arguments: Predef."++showIdent id++" "++show vs |
