Cabal
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Backpack.ModuleShape

Description

Synopsis

Module shapes

data ModuleShape Source #

A ModuleShape describes the provisions and requirements of a library. We can extract a ModuleShape from an InstalledPackageInfo.

Constructors

ModuleShape 

Fields

Instances

Instances details
ModSubst ModuleShape Source # 
Instance details

Defined in Distribution.Backpack.ModuleShape

Methods

modSubst :: OpenModuleSubst -> ModuleShape -> ModuleShape Source #

Structured ModuleShape Source # 
Instance details

Defined in Distribution.Backpack.ModuleShape

Methods

structure :: Proxy ModuleShape -> Structure

structureHash' :: Tagged ModuleShape MD5

Generic ModuleShape Source # 
Instance details

Defined in Distribution.Backpack.ModuleShape

Associated Types

type Rep ModuleShape :: Type -> Type #

Show ModuleShape Source # 
Instance details

Defined in Distribution.Backpack.ModuleShape

Binary ModuleShape Source # 
Instance details

Defined in Distribution.Backpack.ModuleShape

Eq ModuleShape Source # 
Instance details

Defined in Distribution.Backpack.ModuleShape

type Rep ModuleShape Source # 
Instance details

Defined in Distribution.Backpack.ModuleShape

type Rep ModuleShape = D1 ('MetaData "ModuleShape" "Distribution.Backpack.ModuleShape" "Cabal-3.14.0.0-inplace" 'False) (C1 ('MetaCons "ModuleShape" 'PrefixI 'True) (S1 ('MetaSel ('Just "modShapeProvides") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OpenModuleSubst) :*: S1 ('MetaSel ('Just "modShapeRequires") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set ModuleName))))

emptyModuleShape :: ModuleShape Source #

The default module shape, with no provisions and no requirements.

shapeInstalledPackage :: InstalledPackageInfo -> ModuleShape Source #