Safe Haskell | None |
---|---|
Language | GHC2021 |
Bowtie.Fix
Documentation
newtype Fix (f :: Type -> Type) Source #
A basic Functor fixpoint like you'd see anywhere.
Instances
IsString (f (Fix f)) => IsString (Fix f) Source # | |
Defined in Bowtie.Fix Methods fromString :: String -> Fix f # | |
Show (f (Fix f)) => Show (Fix f) Source # | |
Eq (f (Fix f)) => Eq (Fix f) Source # | |
Ord (f (Fix f)) => Ord (Fix f) Source # | |
Pretty (f (Fix f)) => Pretty (Fix f) Source # | |
Defined in Bowtie.Fix | |
Functor f => Corecursive (Fix f) Source # | |
Defined in Bowtie.Fix Methods embed :: Base (Fix f) (Fix f) -> Fix f # ana :: (a -> Base (Fix f) a) -> a -> Fix f # apo :: (a -> Base (Fix f) (Either (Fix f) a)) -> a -> Fix f # postpro :: Recursive (Fix f) => (forall b. Base (Fix f) b -> Base (Fix f) b) -> (a -> Base (Fix f) a) -> a -> Fix f # gpostpro :: (Recursive (Fix f), Monad m) => (forall b. m (Base (Fix f) b) -> Base (Fix f) (m b)) -> (forall c. Base (Fix f) c -> Base (Fix f) c) -> (a -> Base (Fix f) (m a)) -> a -> Fix f # | |
Functor f => Recursive (Fix f) Source # | |
Defined in Bowtie.Fix Methods project :: Fix f -> Base (Fix f) (Fix f) # cata :: (Base (Fix f) a -> a) -> Fix f -> a # para :: (Base (Fix f) (Fix f, a) -> a) -> Fix f -> a # gpara :: (Corecursive (Fix f), Comonad w) => (forall b. Base (Fix f) (w b) -> w (Base (Fix f) b)) -> (Base (Fix f) (EnvT (Fix f) w a) -> a) -> Fix f -> a # prepro :: Corecursive (Fix f) => (forall b. Base (Fix f) b -> Base (Fix f) b) -> (Base (Fix f) a -> a) -> Fix f -> a # gprepro :: (Corecursive (Fix f), Comonad w) => (forall b. Base (Fix f) (w b) -> w (Base (Fix f) b)) -> (forall c. Base (Fix f) c -> Base (Fix f) c) -> (Base (Fix f) (w a) -> a) -> Fix f -> a # | |
type Base (Fix f) Source # | |
Defined in Bowtie.Fix |
mkFix :: forall t (f :: Type -> Type). (Recursive t, Base t ~ f) => t -> Fix f Source #
Pull a recursive structure apart and retie as a Fix
.