Commit f2e0a6b9 authored by rl@cse.unsw.edu.au's avatar rl@cse.unsw.edu.au
Browse files

Vectorisation of type abstractions

parent d9e8e6f9
......@@ -345,6 +345,18 @@ vectExpr lc (_, AnnLet (AnnRec prs) body)
(vrhss, lrhss) <- mapAndUnzipM (vectExpr lc) rhss
(vbody, lbody) <- vectExpr lc body
return (vrhss, vbody, lrhss, lbody)
vectExpr lc (_, AnnLam bndr body)
| isTyVar bndr
= do
pa_ty <- paArgType' (TyVarTy bndr) (tyVarKind bndr)
pa_var <- newLocalVar FSLIT("dPA") pa_ty
(vbody, lbody) <- localV
$ do
extendTyVarPA bndr (Var pa_var)
-- FIXME: what about shadowing here (bndr in lc)?
vectExpr lc body
return (mkLams [bndr, pa_var] vbody,
mkLams [bndr, pa_var] lbody)
-- ----------------------------------------------------------------------------
-- PA dictionaries
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment