plutus-core
Safe HaskellNone
LanguageHaskell2010

PlutusCore.Normalize

Description

The user-facing API of the normalizer.

Synopsis

Documentation

normalizeType :: forall tyname (uni :: Type -> Type) m ann. (HasUnique tyname TypeUnique, MonadNormalizeType uni m) => Type tyname uni ann -> m (Normalized (Type tyname uni ann)) Source #

Normalize a Type.

normalizeTypesIn :: forall tyname name (uni :: Type -> Type) m fun ann. (HasUnique tyname TypeUnique, HasUnique name TermUnique, MonadNormalizeType uni m) => Term tyname name uni fun ann -> m (Term tyname name uni fun ann) Source #

Normalize every Type in a Term.

normalizeTypesInProgram :: forall tyname name (uni :: Type -> Type) m fun ann. (HasUnique tyname TypeUnique, HasUnique name TermUnique, MonadNormalizeType uni m) => Program tyname name uni fun ann -> m (Program tyname name uni fun ann) Source #

Normalize every Type in a Program.