Safe Haskell | None |
---|---|
Language | Haskell2010 |
Distribution.SPDX.Extra
Synopsis
- data License
- data LicenseExpression
- data SimpleLicenseExpression
- data LicenseId
- data LicenseExceptionId
- satisfies :: License -> License -> Bool
- equivalent :: License -> License -> Bool
Types
We don't export the constructors, as they change with Cabal version.
Instances
Parsec License | |||||
Defined in Distribution.SPDX.License | |||||
Pretty License | |||||
Defined in Distribution.SPDX.License | |||||
Structured License | |||||
Defined in Distribution.SPDX.License | |||||
Binary License | |||||
NFData License | |||||
Defined in Distribution.SPDX.License | |||||
Data License | |||||
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 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 | |||||
Defined in Distribution.SPDX.License Associated Types
| |||||
Read License | |||||
Defined in Distribution.SPDX.License | |||||
Show License | |||||
Eq License | |||||
Ord License | |||||
Newtype (Either License License) SpecLicense | |||||
Defined in Distribution.FieldGrammar.Newtypes | |||||
Newtype (Either License License) SpecLicenseLenient | |||||
type Rep License | |||||
Defined in Distribution.SPDX.License type Rep License = D1 ('MetaData "License" "Distribution.SPDX.License" "Cabal-syntax-3.12.1.0-240e" '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
Parsec LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods parsec :: CabalParsing m => m LicenseExpression | |||||
Pretty LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods pretty :: LicenseExpression -> Doc prettyVersioned :: CabalSpecVersion -> LicenseExpression -> Doc | |||||
Structured LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods structure :: Proxy LicenseExpression -> Structure structureHash' :: Tagged LicenseExpression MD5 | |||||
Binary LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods put :: LicenseExpression -> Put get :: Get LicenseExpression putList :: [LicenseExpression] -> Put | |||||
NFData LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods rnf :: LicenseExpression -> () | |||||
Data LicenseExpression | |||||
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 | |||||
Defined in Distribution.SPDX.LicenseExpression Associated Types
Methods from :: LicenseExpression -> Rep LicenseExpression x to :: Rep LicenseExpression x -> LicenseExpression | |||||
Read LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods readsPrec :: Int -> ReadS LicenseExpression readList :: ReadS [LicenseExpression] readPrec :: ReadPrec LicenseExpression readListPrec :: ReadPrec [LicenseExpression] | |||||
Show LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods showsPrec :: Int -> LicenseExpression -> ShowS show :: LicenseExpression -> String showList :: [LicenseExpression] -> ShowS | |||||
Eq LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods (==) :: LicenseExpression -> LicenseExpression -> Bool (/=) :: LicenseExpression -> LicenseExpression -> Bool | |||||
Ord LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods compare :: LicenseExpression -> LicenseExpression -> Ordering (<) :: LicenseExpression -> LicenseExpression -> Bool (<=) :: LicenseExpression -> LicenseExpression -> Bool (>) :: LicenseExpression -> LicenseExpression -> Bool (>=) :: LicenseExpression -> LicenseExpression -> Bool max :: LicenseExpression -> LicenseExpression -> LicenseExpression min :: LicenseExpression -> LicenseExpression -> LicenseExpression | |||||
type Rep LicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression type Rep LicenseExpression = D1 ('MetaData "LicenseExpression" "Distribution.SPDX.LicenseExpression" "Cabal-syntax-3.12.1.0-240e" '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
Parsec SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods parsec :: CabalParsing m => m SimpleLicenseExpression | |||||
Pretty SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods pretty :: SimpleLicenseExpression -> Doc prettyVersioned :: CabalSpecVersion -> SimpleLicenseExpression -> Doc | |||||
Structured SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods structure :: Proxy SimpleLicenseExpression -> Structure structureHash' :: Tagged SimpleLicenseExpression MD5 | |||||
Binary SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods put :: SimpleLicenseExpression -> Put get :: Get SimpleLicenseExpression putList :: [SimpleLicenseExpression] -> Put | |||||
NFData SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods rnf :: SimpleLicenseExpression -> () | |||||
Data SimpleLicenseExpression | |||||
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 | |||||
Defined in Distribution.SPDX.LicenseExpression Associated Types
Methods from :: SimpleLicenseExpression -> Rep SimpleLicenseExpression x to :: Rep SimpleLicenseExpression x -> SimpleLicenseExpression | |||||
Read SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods readsPrec :: Int -> ReadS SimpleLicenseExpression readList :: ReadS [SimpleLicenseExpression] readPrec :: ReadPrec SimpleLicenseExpression readListPrec :: ReadPrec [SimpleLicenseExpression] | |||||
Show SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods showsPrec :: Int -> SimpleLicenseExpression -> ShowS show :: SimpleLicenseExpression -> String showList :: [SimpleLicenseExpression] -> ShowS | |||||
Eq SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods (==) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool (/=) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool | |||||
Ord SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression Methods compare :: SimpleLicenseExpression -> SimpleLicenseExpression -> Ordering (<) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool (<=) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool (>) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool (>=) :: SimpleLicenseExpression -> SimpleLicenseExpression -> Bool max :: SimpleLicenseExpression -> SimpleLicenseExpression -> SimpleLicenseExpression min :: SimpleLicenseExpression -> SimpleLicenseExpression -> SimpleLicenseExpression | |||||
type Rep SimpleLicenseExpression | |||||
Defined in Distribution.SPDX.LicenseExpression type Rep SimpleLicenseExpression = D1 ('MetaData "SimpleLicenseExpression" "Distribution.SPDX.LicenseExpression" "Cabal-syntax-3.12.1.0-240e" '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)))) |
Instances
Parsec LicenseId | |
Defined in Distribution.SPDX.LicenseId | |
Pretty LicenseId | |
Defined in Distribution.SPDX.LicenseId | |
Structured LicenseId | |
Defined in Distribution.SPDX.LicenseId | |
Binary LicenseId | |
NFData LicenseId | |
Defined in Distribution.SPDX.LicenseId | |
Data LicenseId | |
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 | |
Defined in Distribution.SPDX.LicenseId | |
Enum LicenseId | |
Defined in Distribution.SPDX.LicenseId | |
Read LicenseId | |
Defined in Distribution.SPDX.LicenseId | |
Show LicenseId | |
Eq LicenseId | |
Ord LicenseId | |
Defined in Distribution.SPDX.LicenseId |
data LicenseExceptionId #
Instances
Parsec LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods parsec :: CabalParsing m => m LicenseExceptionId | |||||
Pretty LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods pretty :: LicenseExceptionId -> Doc prettyVersioned :: CabalSpecVersion -> LicenseExceptionId -> Doc | |||||
Structured LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods structure :: Proxy LicenseExceptionId -> Structure structureHash' :: Tagged LicenseExceptionId MD5 | |||||
Binary LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods put :: LicenseExceptionId -> Put get :: Get LicenseExceptionId putList :: [LicenseExceptionId] -> Put | |||||
NFData LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods rnf :: LicenseExceptionId -> () | |||||
Data LicenseExceptionId | |||||
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 | |||||
Defined in Distribution.SPDX.LicenseExceptionId | |||||
Enum LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods succ :: LicenseExceptionId -> LicenseExceptionId pred :: LicenseExceptionId -> LicenseExceptionId toEnum :: Int -> LicenseExceptionId fromEnum :: LicenseExceptionId -> Int enumFrom :: LicenseExceptionId -> [LicenseExceptionId] enumFromThen :: LicenseExceptionId -> LicenseExceptionId -> [LicenseExceptionId] enumFromTo :: LicenseExceptionId -> LicenseExceptionId -> [LicenseExceptionId] enumFromThenTo :: LicenseExceptionId -> LicenseExceptionId -> LicenseExceptionId -> [LicenseExceptionId] | |||||
Generic LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Associated Types
Methods from :: LicenseExceptionId -> Rep LicenseExceptionId x to :: Rep LicenseExceptionId x -> LicenseExceptionId | |||||
Read LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods readsPrec :: Int -> ReadS LicenseExceptionId readList :: ReadS [LicenseExceptionId] readPrec :: ReadPrec LicenseExceptionId readListPrec :: ReadPrec [LicenseExceptionId] | |||||
Show LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods showsPrec :: Int -> LicenseExceptionId -> ShowS show :: LicenseExceptionId -> String showList :: [LicenseExceptionId] -> ShowS | |||||
Eq LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods (==) :: LicenseExceptionId -> LicenseExceptionId -> Bool (/=) :: LicenseExceptionId -> LicenseExceptionId -> Bool | |||||
Ord LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId Methods compare :: LicenseExceptionId -> LicenseExceptionId -> Ordering (<) :: LicenseExceptionId -> LicenseExceptionId -> Bool (<=) :: LicenseExceptionId -> LicenseExceptionId -> Bool (>) :: LicenseExceptionId -> LicenseExceptionId -> Bool (>=) :: LicenseExceptionId -> LicenseExceptionId -> Bool max :: LicenseExceptionId -> LicenseExceptionId -> LicenseExceptionId min :: LicenseExceptionId -> LicenseExceptionId -> LicenseExceptionId | |||||
type Rep LicenseExceptionId | |||||
Defined in Distribution.SPDX.LicenseExceptionId type Rep LicenseExceptionId = D1 ('MetaData "LicenseExceptionId" "Distribution.SPDX.LicenseExceptionId" "Cabal-syntax-3.12.1.0-240e" 'False) ((((((C1 ('MetaCons "DS389_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Asterisk_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 "Autoconf_exception_generic_3_0" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Autoconf_exception_generic" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Autoconf_exception_macro" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Bison_exception_1_24" '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 "Cryptsetup_OpenSSL_exception" '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 "Fmt_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_note" '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 "Gmsh_exception" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "GNAT_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GNOME_examples_exception" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GNU_compiler_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Gnu_javamail_exception" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "GPL_3_0_interface_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 "GStreamer_exception_2005" 'PrefixI 'False) (U1 :: Type -> Type))))))) :+: (((((C1 ('MetaCons "GStreamer_exception_2008" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "I2p_gpl_java_exception" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KiCad_libraries_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LGPL_3_0_linking_exception" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Libpri_OpenH323_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 "LLGPL" '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 "QPL_1_0_INRIA_2004_exception" '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 "SANE_exception" '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 "Stunnel_exception" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "SWI_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Swift_exception" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Texinfo_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "U_boot_exception_2_0" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "UBDL_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Universal_FOSS_exception_1_0" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Vsftpd_openssl_exception" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "WxWindows_exception_3_1" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "X11vnc_openssl_exception" 'PrefixI 'False) (U1 :: Type -> Type)))))))) |
Logic
⟦ 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