Instances

Safe Haskell | Safe

Instances

# Documentation

newtype a <~~ b #

Constructors

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

Instances

Foo ((<~~) a) # |
Methods foo :: (a <~~ Int) -> a -> a <~~ a # foo' :: (a <~~ (a <~~ a)) -> Int -> a <~~ (a <~~ Int) #

class Foo f where #

Methods

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

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

Instances

Foo [] # |
Methods foo :: [Int] -> a -> [a] # foo' :: [[a]] -> Int -> [[Int]] #
Foo Maybe # |
Methods foo :: Maybe Int -> a -> Maybe a # foo' :: Maybe (Maybe a) -> Int -> Maybe (Maybe Int) #
Foo ((->) a) # |
Methods foo :: (a -> Int) -> a -> a -> a # foo' :: (a -> a -> a) -> Int -> a -> a -> Int #
Foo (Either a) # |
Methods foo :: Either a Int -> a -> Either a a # foo' :: Either a (Either a a) -> Int -> Either a (Either a Int) #
(Eq a, Foo f) => Foo ((,) (f a)) # |
Methods foo :: (f a, Int) -> a -> (f a, a) # foo' :: (f a, (f a, a)) -> Int -> (f a, (f a, Int)) #
Foo ((<~~) a) # |
Methods foo :: (a <~~ Int) -> a -> a <~~ a # foo' :: (a <~~ (a <~~ a)) -> Int -> a <~~ (a <~~ Int) #
Foo ((,,) a a) # |
Methods foo :: (a, a, Int) -> a -> (a, a, a) # foo' :: (a, a, (a, a, a)) -> Int -> (a, a, (a, a, Int)) #
Foo (Quux a b) # |
Methods foo :: Quux a b Int -> a -> Quux a b a # foo' :: Quux a b (Quux a b a) -> Int -> Quux a b (Quux a b Int) #

class Foo f => Bar f a where #

Methods

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

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

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

Instances

Bar Maybe Bool # |
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] # |
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) # |
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) # |
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) # |
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, b))) # bar0 :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b), (a, b, c)) # bar1 :: ((a, b, (a, b, a)), (a, b, (a, b, a))) -> ((a, b, b), (a, b, c)) #
Bar (Quux a c) (Quux a b c) # |
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 b)) # bar0 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b, Quux a c c) # bar1 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b, Quux a c c) #

class Baz a where #

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] # |
Methods baz :: [c] -> (forall a. a -> a) -> (b, forall a. a -> [c]) -> (b, c) # baz' :: b -> (forall b. b -> [c]) -> (forall b. b -> [c]) -> [(b, [c])] # baz'' :: b -> (forall b. (forall a. a -> [c]) -> c) -> forall a. a -> b #
Baz (a -> b) # |
Methods baz :: (a -> b) -> (forall c. c -> c) -> (b, forall c. c -> a -> b) -> (b, c) # baz' :: b -> (forall c. c -> a -> b) -> (forall c. c -> a -> b) -> [(b, a -> b)] # baz'' :: b -> (forall c. (forall d. d -> a -> b) -> c) -> forall c. c -> b #
Baz (a, b, c) # |
Methods baz :: (a, b, c) -> (forall d. d -> d) -> (b, forall d. d -> (a, b, c)) -> (b, c) # baz' :: b -> (forall d. d -> (a, b, c)) -> (forall d. d -> (a, b, c)) -> [(b, (a, b, c))] # baz'' :: b -> (forall d. (forall e. e -> (a, b, c)) -> c) -> forall d. d -> b #
Baz (Quux a b c) # |
Methods baz :: Quux a b c -> (forall d. d -> d) -> (b, forall d. d -> Quux a b c) -> (b, c) # baz' :: b -> (forall d. d -> Quux a b c) -> (forall d. d -> Quux a b c) -> [(b, Quux a b c)] # baz'' :: b -> (forall d. (forall e. e -> Quux a b c) -> c) -> forall d. d -> b #
Baz (a, [b], b, a) # |
Methods baz :: (a, [b], b, a) -> (forall c. c -> c) -> (b, forall c. c -> (a, [b], b, a)) -> (b, c) # baz' :: b -> (forall c. c -> (a, [b], b, a)) -> (forall c. c -> (a, [b], b, a)) -> [(b, (a, [b], b, a))] # baz'' :: b -> (forall c. (forall d. d -> (a, [b], b, a)) -> c) -> forall c. c -> b #

data Quux a b c #

Constructors

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

Instances

Foo (Quux a b) # |
Methods foo :: Quux a b Int -> a -> Quux a b a # foo' :: Quux a b (Quux a b a) -> Int -> Quux a b (Quux a b Int) #
Bar (Quux a c) (Quux a b c) # |
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 b)) # bar0 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b, Quux a c c) # bar1 :: (Quux a c (Quux a b c), Quux a c (Quux a b c)) -> (Quux a c b, Quux a c c) #
Baz (Quux a b c) # |
Methods baz :: Quux a b c -> (forall d. d -> d) -> (b, forall d. d -> Quux a b c) -> (b, c) # baz' :: b -> (forall d. d -> Quux a b c) -> (forall d. d -> Quux a b c) -> [(b, Quux a b c)] # baz'' :: b -> (forall d. (forall e. e -> Quux a b c) -> c) -> forall d. d -> b #
data Thud Int (Quux a [a] c) # |
data Thud Int (Quux a [a] c) = Thuud a | Thuuud Int Int

class Norf a b where #

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 # |
Associated Types type Plugh Int c Bool :: * # data Thud Int c :: * # Methods norf :: Plugh Int c Bool -> Int -> (Int -> c) -> Bool #
Norf [a] [b] # |
Associated Types type Plugh [a] c [b] :: * # data Thud [a] c :: * # Methods norf :: Plugh [a] c [b] -> [a] -> ([a] -> c) -> [b] #