module Data.Generics.Traversable.Instances () where
import Data.Generics.Traversable.Core
import Data.Generics.Traversable.TH
import Control.Applicative
import Data.Ratio
instance GTraversable c ()
instance GTraversable c Bool
instance GTraversable c Int
instance GTraversable c Integer
instance GTraversable c Float
instance GTraversable c Double
instance GTraversable c (Ratio n)
instance GTraversable c Char
instance GTraversable c Ordering
instance c_0 a_1 => Data.Generics.Traversable.Core.GTraversable c_0
(Maybe a_1)
where gtraverse = \f_2 x_3 -> case x_3 of
Nothing -> Control.Applicative.pure Nothing
Just arg_4 -> (Control.Applicative.<*>) (Control.Applicative.pure Just) (f_2 arg_4)
instance c a => GTraversable c [a] where
gtraverse f = go where
go [] = pure []
go (x:xs) = (:) <$> f x <*> go xs