spdx-1.0.0.3: SPDX license expression language, Extras
Safe HaskellNone
LanguageHaskell98

Distribution.SPDX.Extra

Contents

Synopsis

Types

We don't export the constructors, as they change with Cabal version.

data License #

Instances

Instances details
Parsec License 
Instance details

Defined in Distribution.SPDX.License

Methods

parsec :: CabalParsing m => m License

Pretty License 
Instance details

Defined in Distribution.SPDX.License

Methods

pretty :: License -> Doc

prettyVersioned :: CabalSpecVersion -> License -> Doc

Structured License 
Instance details

Defined in Distribution.SPDX.License

Methods

structure :: Proxy License -> Structure

structureHash' :: Tagged License MD5

Data License 
Instance details

Defined in Distribution.SPDX.License

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> License -> c License

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c License

toConstr :: License -> Constr

dataTypeOf :: License -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c License)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c License)

gmapT :: (forall b. Data b => b -> b) -> License -> License

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> License -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> License -> r

gmapQ :: (forall d. Data d => d -> u) -> License -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> License -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> License -> m License

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> License -> m License

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> License -> m License

Generic License 
Instance details

Defined in Distribution.SPDX.License

Associated Types

type Rep License 
Instance details

Defined in Distribution.SPDX.License

type Rep License = D1 ('MetaData "License" "Distribution.SPDX.License" "Cabal-syntax-3.10.2.0-7b98" 'False) (C1 ('MetaCons "NONE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "License" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseExpression)))

Methods

from :: License -> Rep License x

to :: Rep License x -> License

Read License 
Instance details

Defined in Distribution.SPDX.License

Methods

readsPrec :: Int -> ReadS License

readList :: ReadS [License]

readPrec :: ReadPrec License

readListPrec :: ReadPrec [License]

Show License 
Instance details

Defined in Distribution.SPDX.License

Methods

showsPrec :: Int -> License -> ShowS

show :: License -> String

showList :: [License] -> ShowS

Binary License 
Instance details

Defined in Distribution.SPDX.License

Methods

put :: License -> Put

get :: Get License

putList :: [License] -> Put

NFData License 
Instance details

Defined in Distribution.SPDX.License

Methods

rnf :: License -> ()

Eq License 
Instance details

Defined in Distribution.SPDX.License

Methods

(==) :: License -> License -> Bool

(/=) :: License -> License -> Bool

Ord License 
Instance details

Defined in Distribution.SPDX.License

Methods

compare :: License -> License -> Ordering

(<) :: License -> License -> Bool

(<=) :: License -> License -> Bool

(>) :: License -> License -> Bool

(>=) :: License -> License -> Bool

max :: License -> License -> License

min :: License -> License -> License

Newtype (Either License License) SpecLicense 
Instance details

Defined in Distribution.FieldGrammar.Newtypes

Methods

pack :: Either License License -> SpecLicense

unpack :: SpecLicense -> Either License License

Newtype (Either License License) SpecLicenseLenient 
Instance details

Defined in Distribution.Types.InstalledPackageInfo.FieldGrammar

Methods

pack :: Either License License -> SpecLicenseLenient

unpack :: SpecLicenseLenient -> Either License License

type Rep License 
Instance details

Defined in Distribution.SPDX.License

type Rep License = D1 ('MetaData "License" "Distribution.SPDX.License" "Cabal-syntax-3.10.2.0-7b98" 'False) (C1 ('MetaCons "NONE" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "License" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseExpression)))

data LicenseExpression #

Instances

Instances details
Parsec LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

parsec :: CabalParsing m => m LicenseExpression

Pretty LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

pretty :: LicenseExpression -> Doc

prettyVersioned :: CabalSpecVersion -> LicenseExpression -> Doc

Structured LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

structure :: Proxy LicenseExpression -> Structure

structureHash' :: Tagged LicenseExpression MD5

Data LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LicenseExpression -> c LicenseExpression

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LicenseExpression

toConstr :: LicenseExpression -> Constr

dataTypeOf :: LicenseExpression -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LicenseExpression)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LicenseExpression)

gmapT :: (forall b. Data b => b -> b) -> LicenseExpression -> LicenseExpression

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LicenseExpression -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LicenseExpression -> r

gmapQ :: (forall d. Data d => d -> u) -> LicenseExpression -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> LicenseExpression -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LicenseExpression -> m LicenseExpression

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseExpression -> m LicenseExpression

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseExpression -> m LicenseExpression

Generic LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Associated Types

type Rep LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

type Rep LicenseExpression = D1 ('MetaData "LicenseExpression" "Distribution.SPDX.LicenseExpression" "Cabal-syntax-3.10.2.0-7b98" 'False) (C1 ('MetaCons "ELicense" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SimpleLicenseExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe LicenseExceptionId))) :+: (C1 ('MetaCons "EAnd" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression)) :+: C1 ('MetaCons "EOr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression))))
Read LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Show LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

showsPrec :: Int -> LicenseExpression -> ShowS

show :: LicenseExpression -> String

showList :: [LicenseExpression] -> ShowS

Binary LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

NFData LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

rnf :: LicenseExpression -> ()

Eq LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Ord LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

type Rep LicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

type Rep LicenseExpression = D1 ('MetaData "LicenseExpression" "Distribution.SPDX.LicenseExpression" "Cabal-syntax-3.10.2.0-7b98" 'False) (C1 ('MetaCons "ELicense" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 SimpleLicenseExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe LicenseExceptionId))) :+: (C1 ('MetaCons "EAnd" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression)) :+: C1 ('MetaCons "EOr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LicenseExpression))))

data SimpleLicenseExpression #

Instances

Instances details
Parsec SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

parsec :: CabalParsing m => m SimpleLicenseExpression

Pretty SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

pretty :: SimpleLicenseExpression -> Doc

prettyVersioned :: CabalSpecVersion -> SimpleLicenseExpression -> Doc

Structured SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Data SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SimpleLicenseExpression -> c SimpleLicenseExpression

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SimpleLicenseExpression

toConstr :: SimpleLicenseExpression -> Constr

dataTypeOf :: SimpleLicenseExpression -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SimpleLicenseExpression)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SimpleLicenseExpression)

gmapT :: (forall b. Data b => b -> b) -> SimpleLicenseExpression -> SimpleLicenseExpression

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SimpleLicenseExpression -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SimpleLicenseExpression -> r

gmapQ :: (forall d. Data d => d -> u) -> SimpleLicenseExpression -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> SimpleLicenseExpression -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SimpleLicenseExpression -> m SimpleLicenseExpression

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SimpleLicenseExpression -> m SimpleLicenseExpression

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SimpleLicenseExpression -> m SimpleLicenseExpression

Generic SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Associated Types

type Rep SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

type Rep SimpleLicenseExpression = D1 ('MetaData "SimpleLicenseExpression" "Distribution.SPDX.LicenseExpression" "Cabal-syntax-3.10.2.0-7b98" 'False) (C1 ('MetaCons "ELicenseId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseId)) :+: (C1 ('MetaCons "ELicenseIdPlus" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseId)) :+: C1 ('MetaCons "ELicenseRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseRef))))
Read SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Show SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Binary SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

NFData SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Eq SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

Ord SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

type Rep SimpleLicenseExpression 
Instance details

Defined in Distribution.SPDX.LicenseExpression

type Rep SimpleLicenseExpression = D1 ('MetaData "SimpleLicenseExpression" "Distribution.SPDX.LicenseExpression" "Cabal-syntax-3.10.2.0-7b98" 'False) (C1 ('MetaCons "ELicenseId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseId)) :+: (C1 ('MetaCons "ELicenseIdPlus" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseId)) :+: C1 ('MetaCons "ELicenseRef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LicenseRef))))

data LicenseId #

Instances

Instances details
Parsec LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

parsec :: CabalParsing m => m LicenseId

Pretty LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

pretty :: LicenseId -> Doc

prettyVersioned :: CabalSpecVersion -> LicenseId -> Doc

Structured LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

structure :: Proxy LicenseId -> Structure

structureHash' :: Tagged LicenseId MD5

Data LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LicenseId -> c LicenseId

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LicenseId

toConstr :: LicenseId -> Constr

dataTypeOf :: LicenseId -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LicenseId)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LicenseId)

gmapT :: (forall b. Data b => b -> b) -> LicenseId -> LicenseId

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LicenseId -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LicenseId -> r

gmapQ :: (forall d. Data d => d -> u) -> LicenseId -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> LicenseId -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseId -> m LicenseId

Bounded LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Enum LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Read LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

readsPrec :: Int -> ReadS LicenseId

readList :: ReadS [LicenseId]

readPrec :: ReadPrec LicenseId

readListPrec :: ReadPrec [LicenseId]

Show LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

showsPrec :: Int -> LicenseId -> ShowS

show :: LicenseId -> String

showList :: [LicenseId] -> ShowS

Binary LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

put :: LicenseId -> Put

get :: Get LicenseId

putList :: [LicenseId] -> Put

NFData LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

rnf :: LicenseId -> ()

Eq LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

(==) :: LicenseId -> LicenseId -> Bool

(/=) :: LicenseId -> LicenseId -> Bool

Ord LicenseId 
Instance details

Defined in Distribution.SPDX.LicenseId

Methods

compare :: LicenseId -> LicenseId -> Ordering

(<) :: LicenseId -> LicenseId -> Bool

(<=) :: LicenseId -> LicenseId -> Bool

(>) :: LicenseId -> LicenseId -> Bool

(>=) :: LicenseId -> LicenseId -> Bool

max :: LicenseId -> LicenseId -> LicenseId

min :: LicenseId -> LicenseId -> LicenseId

data LicenseExceptionId #

Instances

Instances details
Parsec LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Methods

parsec :: CabalParsing m => m LicenseExceptionId

Pretty LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Methods

pretty :: LicenseExceptionId -> Doc

prettyVersioned :: CabalSpecVersion -> LicenseExceptionId -> Doc

Structured LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Methods

structure :: Proxy LicenseExceptionId -> Structure

structureHash' :: Tagged LicenseExceptionId MD5

Data LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LicenseExceptionId -> c LicenseExceptionId

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LicenseExceptionId

toConstr :: LicenseExceptionId -> Constr

dataTypeOf :: LicenseExceptionId -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LicenseExceptionId)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LicenseExceptionId)

gmapT :: (forall b. Data b => b -> b) -> LicenseExceptionId -> LicenseExceptionId

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LicenseExceptionId -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LicenseExceptionId -> r

gmapQ :: (forall d. Data d => d -> u) -> LicenseExceptionId -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> LicenseExceptionId -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LicenseExceptionId -> m LicenseExceptionId

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseExceptionId -> m LicenseExceptionId

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseExceptionId -> m LicenseExceptionId

Bounded LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Enum LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Generic LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Associated Types

type Rep LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

type Rep LicenseExceptionId = D1 ('MetaData "LicenseExceptionId" "Distribution.SPDX.LicenseExceptionId" "Cabal-syntax-3.10.2.0-7b98" 'False) (((((C1 ('MetaCons "DS389_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Autoconf_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Autoconf_exception_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Bison_exception_2_2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Bootloader_exception" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Classpath_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CLISP_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DigiRule_FOSS_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ECos_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fawkes_Runtime_exception" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "FLTK_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Font_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Freertos_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GCC_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GCC_exception_3_1" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Gnu_javamail_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GPL_3_0_linking_exception" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GPL_3_0_linking_source_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GPL_CC_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "I2p_gpl_java_exception" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "LGPL_3_0_linking_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Libtool_exception" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Linux_syscall_note" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LLVM_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LZMA_exception" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Mif_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Nokia_Qt_exception_1_1" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OCaml_LGPL_linking_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OCCT_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OpenJDK_assembly_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Openvpn_openssl_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PS_or_PDF_font_exception_20170817" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Qt_GPL_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Qt_LGPL_exception_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Qwt_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SHL_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SHL_2_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Swift_exception" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "U_boot_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Universal_FOSS_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WxWindows_exception_3_1" 'PrefixI 'False) (U1 :: Type -> Type)))))))
Read LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Show LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Methods

showsPrec :: Int -> LicenseExceptionId -> ShowS

show :: LicenseExceptionId -> String

showList :: [LicenseExceptionId] -> ShowS

Binary LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

NFData LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Methods

rnf :: LicenseExceptionId -> ()

Eq LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

Ord LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

type Rep LicenseExceptionId 
Instance details

Defined in Distribution.SPDX.LicenseExceptionId

type Rep LicenseExceptionId = D1 ('MetaData "LicenseExceptionId" "Distribution.SPDX.LicenseExceptionId" "Cabal-syntax-3.10.2.0-7b98" 'False) (((((C1 ('MetaCons "DS389_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Autoconf_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Autoconf_exception_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Bison_exception_2_2" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Bootloader_exception" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Classpath_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CLISP_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "DigiRule_FOSS_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ECos_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Fawkes_Runtime_exception" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "FLTK_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Font_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Freertos_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GCC_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GCC_exception_3_1" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Gnu_javamail_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GPL_3_0_linking_exception" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GPL_3_0_linking_source_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "GPL_CC_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "I2p_gpl_java_exception" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "LGPL_3_0_linking_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Libtool_exception" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Linux_syscall_note" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LLVM_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LZMA_exception" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Mif_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Nokia_Qt_exception_1_1" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "OCaml_LGPL_linking_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "OCCT_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OpenJDK_assembly_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "Openvpn_openssl_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PS_or_PDF_font_exception_20170817" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Qt_GPL_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Qt_LGPL_exception_1_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Qwt_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SHL_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "SHL_2_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Swift_exception" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "U_boot_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Universal_FOSS_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WxWindows_exception_3_1" 'PrefixI 'False) (U1 :: Type -> Type)))))))

Logic

satisfies Source #

Arguments

:: License

package license

-> License

license policy

-> Bool 
⟦ satisfies a b ⟧ ≡ a ≥ b ≡ a ∧ b = b
>>> unsafeParseExpr "GPL-3.0-only" `satisfies` unsafeParseExpr "ISC AND MIT"
False
>>> unsafeParseExpr "Zlib" `satisfies` unsafeParseExpr "ISC AND MIT AND Zlib"
True
>>> unsafeParseExpr "(MIT OR GPL-2.0-only)" `satisfies` unsafeParseExpr "(ISC AND MIT)"
True
>>> unsafeParseExpr "(MIT AND GPL-2.0-only)" `satisfies` unsafeParseExpr "(MIT AND GPL-2.0-only)"
True
>>> unsafeParseExpr "(MIT AND GPL-2.0-only)" `satisfies` unsafeParseExpr "(ISC AND GPL-2.0-only)"
False

equivalent :: License -> License -> Bool Source #

Check wheather two LicenseExpression are equivalent.

>>> unsafeParseExpr "(MIT AND GPL-2.0-only)" `equivalent` unsafeParseExpr "(GPL-2.0-only AND MIT)"
True
>>> unsafeParseExpr "MIT" `equivalent` unsafeParseExpr "MIT OR BSD-3-Clause"
False