on master help sign in
Code cleanup + primitives
commit9792d64b2f710d45c27cb5316daad96a779af942 authorDavid Christiansen <david@davidchristiansen.dk> dateTue 23 Apr 2013, 16:39 (14 years ago) parentd2cec77
1 file changed+3−1
src/Core/Execute.hs+3−1
src/Core/Execute.hs+3−1
@@ -205,7 +205,7 @@ doExec env ctxt (TType u) = return (EType u)
205205
206206execApp :: ExecEnv -> Context -> (Term, [Term]) -> Exec ExecVal
207207execApp env ctxt (f, args) = do newF <- doExec env ctxt f
208− laziness <- (getLaziness newF) >>= return . (++ repeat False)
208+ laziness <- (++ repeat False) <$> (getLaziness newF)
209209 newArgs <- mapM argExec (zip args laziness)
210210 execApp' env ctxt newF newArgs
211211 where getLaziness (EP _ (UN "lazy") _) = return [True]
@@ -321,6 +321,8 @@ execApp' env ctxt f@(EP _ n _) args =
321321 primRes Str (reverse s)
322322 getOp (UN "prim__strTail") [EConstant (Str (c:s))] =
323323 primRes Str s
324+ getOp (UN "prim__subFloat") [EConstant (Fl i1), EConstant (Fl i2)] =
325+ primRes Fl (i1 - i2)
324326 getOp (UN "prim__subInt") [EConstant (I i1), EConstant (I i2)] =
325327 primRes I (i1 - i2)
326328 getOp n args = trace ("No prim " ++ show n ++ " for " ++ take 1000 (show args)) Nothing