VM,
noV, tryV, maybeV, traceMaybeV, orElseV, fixV, localV, closedV, initV,
+ liftDs,
cloneName, cloneId,
newExportedVar, newLocalVar, newDummyVar, newTyVar,
parrayTyCon :: TyCon
, paTyCon :: TyCon
, paDataCon :: DataCon
- , reprTyCon :: TyCon
+ , preprTyCon :: TyCon
, embedTyCon :: TyCon
, embedDataCon :: DataCon
, crossTyCon :: TyCon
+ , crossDataCon :: DataCon
, plusTyCon :: TyCon
+ , leftDataCon :: DataCon
+ , rightDataCon :: DataCon
, closureTyCon :: TyCon
, mkClosureVar :: Var
, applyClosureVar :: Var
= do
parrayTyCon <- dsLookupTyCon parrayTyConName
paTyCon <- dsLookupTyCon paTyConName
- let paDataCon = case tyConDataCons paTyCon of [dc] -> dc
- reprTyCon <- dsLookupTyCon reprTyConName
+ let [paDataCon] = tyConDataCons paTyCon
+ preprTyCon <- dsLookupTyCon preprTyConName
embedTyCon <- dsLookupTyCon embedTyConName
- let embedDataCon = case tyConDataCons embedTyCon of [dc] -> dc
+ let [embedDataCon] = tyConDataCons embedTyCon
crossTyCon <- dsLookupTyCon crossTyConName
+ let [crossDataCon] = tyConDataCons crossTyCon
plusTyCon <- dsLookupTyCon plusTyConName
+ let [leftDataCon, rightDataCon] = tyConDataCons plusTyCon
closureTyCon <- dsLookupTyCon closureTyConName
mkClosureVar <- dsLookupGlobalId mkClosureName
parrayTyCon = parrayTyCon
, paTyCon = paTyCon
, paDataCon = paDataCon
- , reprTyCon = reprTyCon
+ , preprTyCon = preprTyCon
, embedTyCon = embedTyCon
, embedDataCon = embedDataCon
, crossTyCon = crossTyCon
+ , crossDataCon = crossDataCon
, plusTyCon = plusTyCon
+ , leftDataCon = leftDataCon
+ , rightDataCon = rightDataCon
, closureTyCon = closureTyCon
, mkClosureVar = mkClosureVar
, applyClosureVar = applyClosureVar