Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
Instances
HasSpec fn a ⇒ HasGenHint fn (BinTree a) Source # | |
HasSpec fn a ⇒ HasSpec fn (BinTree a) Source # | |
Defined in Constrained.Spec.Tree emptySpec ∷ TypeSpec fn (BinTree a) Source # combineSpec ∷ TypeSpec fn (BinTree a) → TypeSpec fn (BinTree a) → Specification fn (BinTree a) Source # genFromTypeSpec ∷ ∀ (m ∷ Type → Type). (HasCallStack, MonadGenError m) ⇒ TypeSpec fn (BinTree a) → GenT m (BinTree a) Source # conformsTo ∷ BinTree a → TypeSpec fn (BinTree a) → Bool Source # shrinkWithTypeSpec ∷ TypeSpec fn (BinTree a) → BinTree a → [BinTree a] Source # toPreds ∷ Term fn (BinTree a) → TypeSpec fn (BinTree a) → Pred fn Source # cardinalTypeSpec ∷ TypeSpec fn (BinTree a) → Specification fn Integer Source # cardinalTrueSpec ∷ Specification fn Integer Source # typeSpecHasError ∷ TypeSpec fn (BinTree a) → Maybe (NonEmpty String) Source # alternateShow ∷ TypeSpec fn (BinTree a) → BinaryShow Source # monadConformsTo ∷ BinTree a → TypeSpec fn (BinTree a) → Writer [String] Bool Source # typeSpecOpt ∷ TypeSpec fn (BinTree a) → [BinTree a] → Specification fn (BinTree a) Source # guardTypeSpec ∷ [String] → TypeSpec fn (BinTree a) → Specification fn (BinTree a) Source # prerequisites ∷ Evidence (Prerequisites fn (BinTree a)) Source # | |
Generic (BinTree a) Source # | |
Show a ⇒ Show (BinTree a) Source # | |
Eq a ⇒ Eq (BinTree a) Source # | |
Ord a ⇒ Ord (BinTree a) Source # | |
Forallable (BinTree a) (BinTree a, a, BinTree a) Source # | |
Defined in Constrained.Spec.Tree fromForAllSpec ∷ ∀ (fn ∷ [Type] → Type → Type). (HasSpec fn (BinTree a), HasSpec fn (BinTree a, a, BinTree a), BaseUniverse fn) ⇒ Specification fn (BinTree a, a, BinTree a) → Specification fn (BinTree a) Source # forAllToList ∷ BinTree a → [(BinTree a, a, BinTree a)] Source # | |
type Prerequisites fn (BinTree a) Source # | |
Defined in Constrained.Spec.Tree | |
type TypeSpec fn (BinTree a) Source # | |
Defined in Constrained.Spec.Tree | |
type Rep (BinTree a) Source # | |
Defined in Constrained.Spec.Tree type Rep (BinTree a) = D1 ('MetaData "BinTree" "Constrained.Spec.Tree" "constrained-generators-0.2.0.0-inplace" 'False) (C1 ('MetaCons "BinTip" 'PrefixI 'False) (U1 ∷ Type → Type) :+: C1 ('MetaCons "BinNode" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BinTree a)) :*: (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a) :*: S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (BinTree a))))) | |
type Hint (BinTree a) Source # | |
Defined in Constrained.Spec.Tree |
data TreeFn (fn ∷ [Type] → Type → Type) args res Source #
Instances
FunctionLike (TreeFn fn) Source # | |
(Member (TreeFn fn) fn, BaseUniverse fn) ⇒ Functions (TreeFn fn) fn Source # | |
Defined in Constrained.Spec.Tree propagateSpecFun ∷ ∀ (as ∷ [Type]) a b. (TypeList as, Typeable as, HasSpec fn a, HasSpec fn b, All (HasSpec fn) as) ⇒ TreeFn fn as b → ListCtx Value as (HOLE a) → Specification fn b → Specification fn a Source # rewriteRules ∷ ∀ (as ∷ [Type]) b. (TypeList as, Typeable as, HasSpec fn b, All (HasSpec fn) as) ⇒ TreeFn fn as b → List (Term fn) as → Maybe (Term fn b) Source # mapTypeSpec ∷ (HasSpec fn a, HasSpec fn b) ⇒ TreeFn fn '[a] b → TypeSpec fn a → Specification fn b Source # | |
Show (TreeFn fn args res) Source # | |
Eq (TreeFn fn args res) Source # | |
TreeSpec | |
|
Orphan instances
(Member (TreeFn fn) fn, HasSpec fn a) ⇒ HasGenHint fn (Tree a) Source # | |
(HasSpec fn a, Member (TreeFn fn) fn) ⇒ HasSpec fn (Tree a) Source # | |
emptySpec ∷ TypeSpec fn (Tree a) Source # combineSpec ∷ TypeSpec fn (Tree a) → TypeSpec fn (Tree a) → Specification fn (Tree a) Source # genFromTypeSpec ∷ ∀ (m ∷ Type → Type). (HasCallStack, MonadGenError m) ⇒ TypeSpec fn (Tree a) → GenT m (Tree a) Source # conformsTo ∷ Tree a → TypeSpec fn (Tree a) → Bool Source # shrinkWithTypeSpec ∷ TypeSpec fn (Tree a) → Tree a → [Tree a] Source # toPreds ∷ Term fn (Tree a) → TypeSpec fn (Tree a) → Pred fn Source # cardinalTypeSpec ∷ TypeSpec fn (Tree a) → Specification fn Integer Source # cardinalTrueSpec ∷ Specification fn Integer Source # typeSpecHasError ∷ TypeSpec fn (Tree a) → Maybe (NonEmpty String) Source # alternateShow ∷ TypeSpec fn (Tree a) → BinaryShow Source # monadConformsTo ∷ Tree a → TypeSpec fn (Tree a) → Writer [String] Bool Source # typeSpecOpt ∷ TypeSpec fn (Tree a) → [Tree a] → Specification fn (Tree a) Source # guardTypeSpec ∷ [String] → TypeSpec fn (Tree a) → Specification fn (Tree a) Source # prerequisites ∷ Evidence (Prerequisites fn (Tree a)) Source # | |
Forallable (Tree a) (a, [Tree a]) Source # | |
fromForAllSpec ∷ ∀ (fn ∷ [Type] → Type → Type). (HasSpec fn (Tree a), HasSpec fn (a, [Tree a]), BaseUniverse fn) ⇒ Specification fn (a, [Tree a]) → Specification fn (Tree a) Source # forAllToList ∷ Tree a → [(a, [Tree a])] Source # |