@@ -323,7 +323,8 @@ For a (self-)recursive datatype we have to change three things:
323323mkScottTy :: MonadQuote m => ann -> Datatype TyName Name uni ann -> m (Type TyName uni ann )
324324mkScottTy ann d@ (Datatype _ _ _ _ constrs) = do
325325 res <- resultTypeName d
326- -- FIXME: normalize datacons' types also here
326+ -- FIXME (https://github.com/IntersectMBO/plutus-private/issues/1875):
327+ -- normalize datacons' types also here
327328 let caseTys = fmap (constructorCaseType ann (TyVar ann res)) constrs
328329 pure $
329330 -- forall res.
@@ -389,7 +390,7 @@ mkConstructorType :: Datatype TyName Name uni (Provenance a) -> VarDecl TyName N
389390-- this type appears *inside* the scope of the abstraction for the datatype so we can just reference the name and
390391-- we don't need to do anything to the declared type
391392-- see Note [Abstract data types]
392- -- FIXME: normalize constructors also here
393+ -- FIXME (https://github.com/IntersectMBO/plutus-private/issues/1875) : normalize constructors also here
393394mkConstructorType (Datatype _ _ tvs _ _) constr = PIR. mkIterTyForall tvs $ _varDeclType constr
394395
395396-- See Note [Encoding of datatypes]
@@ -421,7 +422,7 @@ mkConstructor opts dty d@(Datatype ann _ tvs _ constrs) index = do
421422 argsAndTypes <- do
422423 -- these types appear *outside* the scope of the abstraction for the datatype, so we need to use the concrete datatype here
423424 -- see Note [Abstract data types]
424- -- FIXME: normalize datacons' types also here
425+ -- FIXME (https://github.com/IntersectMBO/plutus-private/issues/1875) : normalize datacons' types also here
425426 let argTypes = unveilDatatype (getType dty) d <$> constructorArgTypes thisConstr
426427 -- we don't have any names for these things, we just had the type, so we call them "arg_i
427428 argNames <- for [0 .. (length argTypes - 1 )] (\ i -> safeFreshName $ " arg_" <> showText i)
@@ -445,7 +446,7 @@ mkConstructor opts dty d@(Datatype ann _ tvs _ constrs) index = do
445446 casesAndTypes <- do
446447 -- these types appear *outside* the scope of the abstraction for the datatype, so we need to use the concrete datatype here
447448 -- see Note [Abstract data types]
448- -- FIXME: normalize datacons' types also here
449+ -- FIXME (https://github.com/IntersectMBO/plutus-private/issues/1875) : normalize datacons' types also here
449450 let caseTypes = unveilDatatype (getType dty) d <$> fmap (constructorCaseType ann (TyVar ann resultType)) constrs
450451 caseArgNames <- for constrs (\ c -> safeFreshName $ " case_" <> T. pack (varDeclNameString c))
451452 pure $ zipWith (VarDecl ann) caseArgNames caseTypes
@@ -506,7 +507,7 @@ mkDestructor opts dty d@(Datatype ann _ tvs _ constrs) = do
506507 caseVars <- for constrs $ \ c -> do
507508 -- these types appear *outside* the scope of the abstraction for the datatype, so we need to use the concrete datatype here
508509 -- see Note [Abstract data types]
509- -- FIXME: normalize datacons' types also here
510+ -- FIXME (https://github.com/IntersectMBO/plutus-private/issues/1875) : normalize datacons' types also here
510511 let caseType = constructorCaseType ann (TyVar ann resultType) c
511512 unveiledCaseType = unveilDatatype (getType dty) d caseType
512513 caseArgName <- safeFreshName $ " case_" <> T. pack (varDeclNameString c)
0 commit comments