on master help sign in
Strictly evaluate type constructor args
commit2544d93bb83e815175d26da8d2006465fd7195e5 authorDavid Christiansen <david@davidchristiansen.dk> dateSat 25 May 2013, 21:22 (13 years ago) parented0ba83
1 file changed+5
src/Core/Execute.hs+5
src/Core/Execute.hs+5
@@ -279,6 +279,11 @@ execApp' env ctxt c@(EP (DCon _ arity) n _) args =
279279 let restArgs = drop arity args
280280 execApp' env ctxt (mkEApp c args') restArgs
281281
282+execApp' env ctxt c@(EP (TCon _ arity) n _) args =
283+ do args' <- mapM tryForce (take arity args)
284+ let restArgs = drop arity args
285+ execApp' env ctxt (mkEApp c args') restArgs
286+
282287execApp' env ctxt f@(EP _ n _) args =
283288 do let val = lookupDef n ctxt
284289 case val of