buildEnv
)
where
-import VectUtils
-import Vectorise.Utils.Hoisting
import Vectorise.Builtins
import Vectorise.Vect
import Vectorise.Monad
+import Vectorise.Utils.Base
+import Vectorise.Utils.PADict
+import Vectorise.Utils.Hoisting
import CoreSyn
import Type
-import Var
import MkCore
import CoreUtils
import TyCon
import DataCon
import MkId
import TysWiredIn
-import BasicTypes
+import BasicTypes( Boxity(..) )
import FastString
-> VM VExpr
mkClosure arg_ty res_ty env_ty (vfn,lfn) (venv,lenv)
- = do Just dict <- paDictOfType env_ty
- mkv <- builtin closureVar
- mkl <- builtin liftedClosureVar
+ = do dict <- paDictOfType env_ty
+ mkv <- builtin closureVar
+ mkl <- builtin liftedClosureVar
return (Var mkv `mkTyApps` [arg_ty, res_ty, env_ty] `mkApps` [dict, vfn, lfn, venv],
Var mkl `mkTyApps` [arg_ty, res_ty, env_ty] `mkApps` [dict, vfn, lfn, lenv])