Safe HaskellSafe

Instances

Documentation

newtype a <~~ b #

Constructors

Xyzzy (b -> (a, a))

Instances

Instances details
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

Instances details
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

Instances details
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

Instances details
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

Instances details
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)

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

Instances details
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] #