Instances

Safe Haskell | Safe

Instances

# Documentation

newtype a <~~ b #

Constructors

Xyzzy (b -> (a, a)) |

Instances

Foo ((<~~) a) # |
Instance details Defined in Instances Methods foo :: (a <~~ Int) -> a0 -> a <~~ a0 # foo' :: (a <~~ (a <~~ a0)) -> Int -> a <~~ (a <~~ Int) #

class Foo f where #

Minimal complete definition

Nothing

Methods

foo :: f Int -> a -> f a #

foo' :: f (f a) -> Int -> f (f Int) #

Instances

Foo [] # |
Instance details Defined in Instances Methods foo :: [Int] -> a -> [a] # foo' :: [[a]] -> Int -> [[Int]] #
Foo Maybe # |
Instance details Defined in Instances Methods foo :: Maybe Int -> a -> Maybe a # foo' :: Maybe (Maybe a) -> Int -> Maybe (Maybe Int) #
Foo (Either a) # |
Instance details Defined in Instances Methods foo :: Either a Int -> a0 -> Either a a0 # foo' :: Either a (Either a a0) -> Int -> Either a (Either a Int) #
(Eq a, Foo f) => Foo ((,) (f a)) # |
Instance details Defined in Instances Methods foo :: (f a, Int) -> a0 -> (f a, a0) # foo' :: (f a, (f a, a0)) -> Int -> (f a, (f a, Int)) #
Foo ((<~~) a) # |
Instance details Defined in Instances Methods foo :: (a <~~ Int) -> a0 -> a <~~ a0 # foo' :: (a <~~ (a <~~ a0)) -> Int -> a <~~ (a <~~ Int) #
Foo ((,,) a a) # |
Instance details Defined in Instances Methods foo :: (a, a, Int) -> a0 -> (a, a, a0) # foo' :: (a, a, (a, a, a0)) -> Int -> (a, a, (a, a, Int)) #
Foo (Quux a b) # |
Instance details Defined in Instances Methods foo :: Quux a b Int -> a0 -> Quux a b a0 # foo' :: Quux a b (Quux a b a0) -> Int -> Quux a b (Quux a b Int) #
Foo ((->) a :: Type -> Type) # |
Instance details Defined in Instances Methods foo :: (a -> Int) -> a0 -> a -> a0 # foo' :: (a -> (a -> a0)) -> Int -> a -> (a -> Int) #

class Foo f => Bar f a where #

Minimal complete definition

Nothing

Methods

bar :: f a -> f Bool -> a #

bar' :: f (f a) -> f (f (f b)) #

bar0 :: (f a, f a) -> (f b, f c) #

bar1 :: (f a, f a) -> (f b, f c) #

Instances

Bar Maybe Bool # |
Instance details Defined in Instances Methods bar :: Maybe Bool -> Maybe Bool -> Bool # bar' :: Maybe (Maybe Bool) -> Maybe (Maybe (Maybe b)) # bar0 :: (Maybe Bool, Maybe Bool) -> (Maybe b, Maybe c) # bar1 :: (Maybe Bool, Maybe Bool) -> (Maybe b, Maybe c) #
Bar Maybe [a] # |
Instance details Defined in Instances Methods bar :: Maybe [a] -> Maybe Bool -> [a] # bar' :: Maybe (Maybe [a]) -> Maybe (Maybe (Maybe b)) # bar0 :: (Maybe [a], Maybe [a]) -> (Maybe b, Maybe c) # bar1 :: (Maybe [a], Maybe [a]) -> (Maybe b, Maybe c) #
Bar [] (a, a) # |
Instance details Defined in Instances Methods bar :: [(a, a)] -> [Bool] -> (a, a) # bar' :: [[(a, a)]] -> [[[b]]] # bar0 :: ([(a, a)], [(a, a)]) -> ([b], [c]) # bar1 :: ([(a, a)], [(a, a)]) -> ([b], [c]) #
Foo f => Bar (Either a) (f a) # |
Instance details Defined in Instances Methods bar :: Either a (f a) -> Either a Bool -> f a # bar' :: Either a (Either a (f a)) -> Either a (Either a (Either a b)) # bar0 :: (Either a (f a), Either a (f a)) -> (Either a b, Either a c) # bar1 :: (Either a (f a), Either a (f a)) -> (Either a b, Either a c) #
Foo ((,,) a b) => Bar ((,,) a b) (a, b, a) # |
Instance details Defined in Instances Methods bar :: (a, b, (a, b, a)) -> (a, b, Bool) -> (a, b, a) # bar' :: (a, b, (a, b, (a, b, a))) -> (a, b, (a, b, (a, b, b0))) # bar0 :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b0), (a, b, c)) # bar1 :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b0), (a, b, c)) #
Bar (Quux a c) (Quux a b c) # |
Instance details Defined in Instances Methods bar :: Quux a c (Quux a b c) -> Quux a c Bool -> Quux a b c # bar' :: Quux a c (Quux a c (Quux a b c)) -> Quux a c (Quux a c (Quux a c b0)) # bar0 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b0, Quux a c c0) # bar1 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b0, Quux a c c0) #

class Baz a where #

Minimal complete definition

Nothing

Methods

baz :: a -> (forall a. a -> a) -> (b, forall c. c -> a) -> (b, c) #

baz' :: b -> (forall b. b -> a) -> (forall b. b -> a) -> [(b, a)] #

baz'' :: b -> (forall b. (forall b. b -> a) -> c) -> forall c. c -> b #

Instances

Baz [c] # |
Instance details Defined in Instances Methods baz :: [c] -> (forall a. a -> a) -> (b, forall c0. c0 -> [c]) -> (b, c1) # baz' :: b -> (forall b. b -> [c]) -> (forall b. b -> [c]) -> [(b, [c])] # baz'' :: b -> (forall b. (forall b. b -> [c]) -> c0) -> forall c1. c1 -> b #
Baz (a -> b) # |
Instance details Defined in Instances Methods baz :: (a -> b) -> (forall a0. a0 -> a0) -> (b0, forall c. c -> a -> b) -> (b0, c) # baz' :: b0 -> (forall b1. b1 -> a -> b) -> (forall b2. b2 -> a -> b) -> [(b0, a -> b)] # baz'' :: b0 -> (forall b1. (forall b2. b2 -> a -> b) -> c) -> forall c. c -> b0 #
Baz (a, b, c) # |
Instance details Defined in Instances Methods baz :: (a, b, c) -> (forall a0. a0 -> a0) -> (b0, forall c0. c0 -> (a, b, c)) -> (b0, c1) # baz' :: b0 -> (forall b1. b1 -> (a, b, c)) -> (forall b2. b2 -> (a, b, c)) -> [(b0, (a, b, c))] # baz'' :: b0 -> (forall b1. (forall b2. b2 -> (a, b, c)) -> c0) -> forall c1. c1 -> b0 #
Baz (Quux a b c) # |
Instance details Defined in Instances Methods baz :: Quux a b c -> (forall a0. a0 -> a0) -> (b0, forall c0. c0 -> Quux a b c) -> (b0, c1) # baz' :: b0 -> (forall b1. b1 -> Quux a b c) -> (forall b2. b2 -> Quux a b c) -> [(b0, Quux a b c)] # baz'' :: b0 -> (forall b1. (forall b2. b2 -> Quux a b c) -> c0) -> forall c1. c1 -> b0 #
Baz (a, [b], b, a) # |
Instance details Defined in Instances Methods baz :: (a, [b], b, a) -> (forall a0. a0 -> a0) -> (b0, forall c. c -> (a, [b], b, a)) -> (b0, c) # baz' :: b0 -> (forall b1. b1 -> (a, [b], b, a)) -> (forall b2. b2 -> (a, [b], b, a)) -> [(b0, (a, [b], b, a))] # baz'' :: b0 -> (forall b1. (forall b2. b2 -> (a, [b], b, a)) -> c) -> forall c. c -> b0 #

data Quux a b c #

Constructors

Qx a |
Qux a b |
Quux a b c |

Instances

Foo (Quux a b) # |
Instance details Defined in Instances Methods foo :: Quux a b Int -> a0 -> Quux a b a0 # foo' :: Quux a b (Quux a b a0) -> Int -> Quux a b (Quux a b Int) #
Bar (Quux a c) (Quux a b c) # |
Instance details Defined in Instances Methods bar :: Quux a c (Quux a b c) -> Quux a c Bool -> Quux a b c # bar' :: Quux a c (Quux a c (Quux a b c)) -> Quux a c (Quux a c (Quux a c b0)) # bar0 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b0, Quux a c c0) # bar1 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b0, Quux a c c0) #
Baz (Quux a b c) # |
Instance details Defined in Instances Methods baz :: Quux a b c -> (forall a0. a0 -> a0) -> (b0, forall c0. c0 -> Quux a b c) -> (b0, c1) # baz' :: b0 -> (forall b1. b1 -> Quux a b c) -> (forall b2. b2 -> Quux a b c) -> [(b0, Quux a b c)] # baz'' :: b0 -> (forall b1. (forall b2. b2 -> Quux a b c) -> c0) -> forall c1. c1 -> b0 #
data Thud Int (Quux a [a] c) # |
Instance details Defined in Instances data Thud Int (Quux a [a] c) = Thuud a | Thuuud Int Int

class Norf a b where #

Minimal complete definition

Nothing

Associated Types

type Plugh a c b #

data Thud a c #

Methods

norf :: Plugh a c b -> a -> (a -> c) -> b #

Instances

Norf Int Bool # |
Instance details Defined in Instances Associated Types type Plugh Int c Bool :: Type # data Thud Int c :: Type # Methods norf :: Plugh Int c Bool -> Int -> (Int -> c) -> Bool #
Norf [a] [b] # |
Instance details Defined in Instances Associated Types type Plugh [a] c [b] :: Type # data Thud [a] c :: Type # Methods norf :: Plugh [a] c [b] -> [a] -> ([a] -> c) -> [b] #