Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
Instances
Foldable Inc Source # | |
Defined in Free.Scoped fold :: Monoid m => Inc m -> m # foldMap :: Monoid m => (a -> m) -> Inc a -> m # foldMap' :: Monoid m => (a -> m) -> Inc a -> m # foldr :: (a -> b -> b) -> b -> Inc a -> b # foldr' :: (a -> b -> b) -> b -> Inc a -> b # foldl :: (b -> a -> b) -> b -> Inc a -> b # foldl' :: (b -> a -> b) -> b -> Inc a -> b # foldr1 :: (a -> a -> a) -> Inc a -> a # foldl1 :: (a -> a -> a) -> Inc a -> a # elem :: Eq a => a -> Inc a -> Bool # maximum :: Ord a => Inc a -> a # | |
Traversable Inc Source # | |
Functor Inc Source # | |
Show var => Show (Inc var) Source # | |
Eq var => Eq (Inc var) Source # | |
instantiate :: Monad f => f a -> f (Inc a) -> f a Source #
data FS (t :: Type -> Type -> Type) a Source #
Instances
IsString Term' Source # | |
Defined in Language.Rzk.Free.Syntax fromString :: String -> Term' # | |
IsString TermT' Source # | Parse and |
Defined in Rzk.TypeCheck fromString :: String -> TermT' # | |
Show Term' Source # | |
Show TermT' Source # | |
Bifoldable t => Foldable (FS t) Source # | |
Defined in Free.Scoped fold :: Monoid m => FS t m -> m # foldMap :: Monoid m => (a -> m) -> FS t a -> m # foldMap' :: Monoid m => (a -> m) -> FS t a -> m # foldr :: (a -> b -> b) -> b -> FS t a -> b # foldr' :: (a -> b -> b) -> b -> FS t a -> b # foldl :: (b -> a -> b) -> b -> FS t a -> b # foldl' :: (b -> a -> b) -> b -> FS t a -> b # foldr1 :: (a -> a -> a) -> FS t a -> a # foldl1 :: (a -> a -> a) -> FS t a -> a # elem :: Eq a => a -> FS t a -> Bool # maximum :: Ord a => FS t a -> a # | |
Bitraversable t => Traversable (FS t) Source # | |
Bifunctor t => Applicative (FS t) Source # | |
Bifunctor t => Functor (FS t) Source # | |
Bifunctor t => Monad (FS t) Source # | |
(Eq a, forall x y. (Eq x, Eq y) => Eq (t x y)) => Eq (FS t a) Source # | |
data Sum (f :: Type -> Type -> Type) (g :: Type -> Type -> Type) scope term Source #
Instances
(Bifoldable f, Bifoldable g) => Bifoldable (Sum f g) Source # | |||||
(Bifunctor f, Bifunctor g) => Bifunctor (Sum f g) Source # | |||||
(Bitraversable f, Bitraversable g) => Bitraversable (Sum f g) Source # | |||||
Defined in Free.Scoped bitraverse :: Applicative f0 => (a -> f0 c) -> (b -> f0 d) -> Sum f g a b -> f0 (Sum f g c d) # | |||||
(Foldable (f scope), Foldable (g scope)) => Foldable (Sum f g scope) Source # | |||||
Defined in Free.Scoped fold :: Monoid m => Sum f g scope m -> m # foldMap :: Monoid m => (a -> m) -> Sum f g scope a -> m # foldMap' :: Monoid m => (a -> m) -> Sum f g scope a -> m # foldr :: (a -> b -> b) -> b -> Sum f g scope a -> b # foldr' :: (a -> b -> b) -> b -> Sum f g scope a -> b # foldl :: (b -> a -> b) -> b -> Sum f g scope a -> b # foldl' :: (b -> a -> b) -> b -> Sum f g scope a -> b # foldr1 :: (a -> a -> a) -> Sum f g scope a -> a # foldl1 :: (a -> a -> a) -> Sum f g scope a -> a # toList :: Sum f g scope a -> [a] # null :: Sum f g scope a -> Bool # length :: Sum f g scope a -> Int # elem :: Eq a => a -> Sum f g scope a -> Bool # maximum :: Ord a => Sum f g scope a -> a # minimum :: Ord a => Sum f g scope a -> a # | |||||
(Traversable (f scope), Traversable (g scope)) => Traversable (Sum f g scope) Source # | |||||
Defined in Free.Scoped traverse :: Applicative f0 => (a -> f0 b) -> Sum f g scope a -> f0 (Sum f g scope b) # sequenceA :: Applicative f0 => Sum f g scope (f0 a) -> f0 (Sum f g scope a) # mapM :: Monad m => (a -> m b) -> Sum f g scope a -> m (Sum f g scope b) # sequence :: Monad m => Sum f g scope (m a) -> m (Sum f g scope a) # | |||||
(Functor (f scope), Functor (g scope)) => Functor (Sum f g scope) Source # | |||||
Generic (Sum f g scope term) Source # | |||||
Defined in Free.Scoped
| |||||
type Rep (Sum f g scope term) Source # | |||||
Defined in Free.Scoped type Rep (Sum f g scope term) = D1 ('MetaData "Sum" "Free.Scoped" "rzk-0.7.5-11OV1i3SNKb1DLfnjk7mWN" 'False) (C1 ('MetaCons "InL" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f scope term))) :+: C1 ('MetaCons "InR" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (g scope term)))) |
data Empty scope term Source #
Instances
Bifoldable Empty Source # | |
Bifunctor Empty Source # | |
Bitraversable Empty Source # | |
Defined in Free.Scoped bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Empty a b -> f (Empty c d) # | |
Foldable (Empty scope) Source # | |
Defined in Free.Scoped fold :: Monoid m => Empty scope m -> m # foldMap :: Monoid m => (a -> m) -> Empty scope a -> m # foldMap' :: Monoid m => (a -> m) -> Empty scope a -> m # foldr :: (a -> b -> b) -> b -> Empty scope a -> b # foldr' :: (a -> b -> b) -> b -> Empty scope a -> b # foldl :: (b -> a -> b) -> b -> Empty scope a -> b # foldl' :: (b -> a -> b) -> b -> Empty scope a -> b # foldr1 :: (a -> a -> a) -> Empty scope a -> a # foldl1 :: (a -> a -> a) -> Empty scope a -> a # toList :: Empty scope a -> [a] # null :: Empty scope a -> Bool # length :: Empty scope a -> Int # elem :: Eq a => a -> Empty scope a -> Bool # maximum :: Ord a => Empty scope a -> a # minimum :: Ord a => Empty scope a -> a # | |
Traversable (Empty scope) Source # | |
Defined in Free.Scoped | |
Functor (Empty scope) Source # | |
data AnnF (ann :: Type -> Type) (term :: Type -> Type -> Type) scope typedTerm Source #
Instances
IsString TermT' Source # | Parse and |
Defined in Rzk.TypeCheck fromString :: String -> TermT' # | |
Show TermT' Source # | |
Bifoldable term => Bifoldable (AnnF ann term) Source # | Important: does not fold over the |
(Functor ann, Bifunctor term) => Bifunctor (AnnF ann term) Source # | |
(Traversable ann, Bitraversable term) => Bitraversable (AnnF ann term) Source # | |
Defined in Free.Scoped bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> AnnF ann term a b -> f (AnnF ann term c d) # | |
(Functor ann, Functor (term scope)) => Functor (AnnF ann term scope) Source # | |
(Show (ann typedTerm), Show (term scope typedTerm)) => Show (AnnF ann term scope typedTerm) Source # | |
Eq (term scope typedTerm) => Eq (AnnF ann term scope typedTerm) Source # | Important: does not compare the |
transFS :: Bifunctor term => (forall s t. term s t -> term' s t) -> FS term a -> FS term' a Source #
untyped :: forall (ann :: Type -> Type) (term :: Type -> Type -> Type) a. (Functor ann, Bifunctor term) => FS (AnnF ann term) a -> FS term a Source #