File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11{
22 "name" : " purescript-bifunctors" ,
3+ "homepage" : " https://github.com/purescript/purescript-bifunctors" ,
4+ "description" : " Bifunctors and biapplicatives" ,
35 "keywords" : [
46 " purescript" ,
57 " bifunctor" ,
1113 " Dylan Lukes <lukes.dylan@gmail.com>"
1214 ],
1315 "license" : " MIT" ,
16+ "repository" : {
17+ "type" : " git" ,
18+ "url" : " git://github.com/purescript/purescript-bifunctors.git"
19+ },
1420 "ignore" : [
1521 " **/.*" ,
1622 " bower_components" ,
1723 " node_modules" ,
1824 " output" ,
25+ " test" ,
1926 " bower.json" ,
2027 " gulpfile.js" ,
2128 " package.json"
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Control.Biapplicative
42
53#### ` Biapplicative `
@@ -13,4 +11,3 @@ class (Biapply w) <= Biapplicative w where
1311functions of zero or more arguments, in the sense of ` Applicative ` .
1412
1513
16-
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Control.Biapply
42
53#### ` (<<$>>) `
@@ -15,14 +13,6 @@ the style of `Applicative`:
1513bipure f g <<$>> x <<*>> y
1614```
1715
18- #### ` (<<*>>) `
19-
20- ``` purescript
21- (<<*>>) :: forall w a b c d. (Biapply w) => w (a -> b) (c -> d) -> w a c -> w b d
22- ```
23-
24- An infix version of ` biapply ` .
25-
2616#### ` Biapply `
2717
2818``` purescript
@@ -33,6 +23,14 @@ class (Bifunctor w) <= Biapply w where
3323` Biapply ` captures type constructors of two arguments which support lifting of
3424functions of one or more arguments, in the sense of ` Apply ` .
3525
26+ #### ` (<<*>>) `
27+
28+ ``` purescript
29+ (<<*>>) :: forall w a b c d. (Biapply w) => w (a -> b) (c -> d) -> w a c -> w b d
30+ ```
31+
32+ An infix version of ` biapply ` .
33+
3634#### ` (*>>) `
3735
3836``` purescript
@@ -66,4 +64,3 @@ bilift3 :: forall w a b c d e f g h. (Biapply w) => (a -> b -> c -> d) -> (e ->
6664Lift a function of three arguments.
6765
6866
69-
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Data.Bifunctor.Clown
42
53#### ` Clown `
@@ -9,42 +7,20 @@ data Clown f a b
97 = Clown (f a)
108```
119
12- Make a ` Functor ` over the first argument of a ` Bifunctor `
13-
14- #### ` runClown `
15-
16- ``` purescript
17- runClown :: forall f a b. Clown f a b -> f a
18- ```
19-
20-
21- #### ` clownBifunctor `
22-
10+ ##### Instances
2311``` purescript
2412instance clownBifunctor :: (Functor f) => Bifunctor (Clown f)
25- ```
26-
27-
28- #### ` clownFunctor `
29-
30- ``` purescript
3113instance clownFunctor :: Functor (Clown f a)
32- ```
33-
34-
35- #### ` clownBiapply `
36-
37- ``` purescript
3814instance clownBiapply :: (Apply f) => Biapply (Clown f)
15+ instance clownBiapplicative :: (Applicative f) => Biapplicative (Clown f)
3916```
4017
18+ Make a ` Functor ` over the first argument of a ` Bifunctor `
4119
42- #### ` clownBiapplicative `
20+ #### ` runClown `
4321
4422``` purescript
45- instance clownBiapplicative :: (Applicative f) => Biapplicative ( Clown f)
23+ runClown :: forall f a b. Clown f a b -> f a
4624```
4725
4826
49-
50-
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Data.Bifunctor.Flip
42
53#### ` Flip `
@@ -9,43 +7,22 @@ data Flip p a b
97 = Flip (p b a)
108```
119
12- Flips the order of the type arguments of a ` Bifunctor ` .
13-
14- #### ` runFlip `
15-
16- ``` purescript
17- runFlip :: forall p a b. Flip p a b -> p b a
18- ```
19-
20- Remove the ` Flip ` constructor.
21-
22- #### ` flipBifunctor `
23-
10+ ##### Instances
2411``` purescript
2512instance flipBifunctor :: (Bifunctor p) => Bifunctor (Flip p)
26- ```
27-
28-
29- #### ` flipFunctor `
30-
31- ``` purescript
3213instance flipFunctor :: (Bifunctor p) => Functor (Flip p a)
33- ```
34-
35-
36- #### ` flipBiapply `
37-
38- ``` purescript
3914instance flipBiapply :: (Biapply p) => Biapply (Flip p)
15+ instance flipBiapplicative :: (Biapplicative p) => Biapplicative (Flip p)
4016```
4117
18+ Flips the order of the type arguments of a ` Bifunctor ` .
4219
43- #### ` flipBiapplicative `
20+ #### ` runFlip `
4421
4522``` purescript
46- instance flipBiapplicative :: (Biapplicative p) => Biapplicative ( Flip p)
23+ runFlip :: forall p a b. Flip p a b -> p b a
4724```
4825
49-
26+ Remove the ` Flip ` constructor.
5027
5128
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Data.Bifunctor.Join
42
53#### ` Join `
@@ -9,37 +7,22 @@ data Join p a
97 = Join (p a a)
108```
119
12- ` Join ` turns a ` Bifunctor ` into a ` Functor ` by equating the
13- two type arguments.
14-
15- #### ` runJoin `
16-
17- ``` purescript
18- runJoin :: forall p a. Join p a -> p a a
19- ```
20-
21- Remove the ` Join ` constructor.
22-
23- #### ` joinFunctor `
24-
10+ ##### Instances
2511``` purescript
2612instance joinFunctor :: (Bifunctor p) => Functor (Join p)
27- ```
28-
29-
30- #### ` joinApply `
31-
32- ``` purescript
3313instance joinApply :: (Biapply p) => Apply (Join p)
14+ instance joinApplicative :: (Biapplicative p) => Applicative (Join p)
3415```
3516
17+ ` Join ` turns a ` Bifunctor ` into a ` Functor ` by equating the
18+ two type arguments.
3619
37- #### ` joinApplicative `
20+ #### ` runJoin `
3821
3922``` purescript
40- instance joinApplicative :: (Biapplicative p) => Applicative ( Join p)
23+ runJoin :: forall p a. Join p a -> p a a
4124```
4225
43-
26+ Remove the ` Join ` constructor.
4427
4528
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Data.Bifunctor.Joker
42
53#### ` Joker `
@@ -9,42 +7,20 @@ data Joker g a b
97 = Joker (g b)
108```
119
12- Make a ` Functor ` over the second argument of a ` Bifunctor `
13-
14- #### ` runJoker `
15-
16- ``` purescript
17- runJoker :: forall g a b. Joker g a b -> g b
18- ```
19-
20-
21- #### ` jokerBifunctor `
22-
10+ ##### Instances
2311``` purescript
2412instance jokerBifunctor :: (Functor g) => Bifunctor (Joker g)
25- ```
26-
27-
28- #### ` jokerFunctor `
29-
30- ``` purescript
3113instance jokerFunctor :: (Functor g) => Functor (Joker g a)
32- ```
33-
34-
35- #### ` jokerBiapply `
36-
37- ``` purescript
3814instance jokerBiapply :: (Apply g) => Biapply (Joker g)
15+ instance jokerBiapplicative :: (Applicative g) => Biapplicative (Joker g)
3916```
4017
18+ Make a ` Functor ` over the second argument of a ` Bifunctor `
4119
42- #### ` jokerBiapplicative `
20+ #### ` runJoker `
4321
4422``` purescript
45- instance jokerBiapplicative :: (Applicative g) => Biapplicative ( Joker g)
23+ runJoker :: forall g a b. Joker g a b -> g b
4624```
4725
4826
49-
50-
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Data.Bifunctor.Product
42
53#### ` Product `
@@ -9,28 +7,13 @@ data Product f g a b
97 = Pair (f a b) (g a b)
108```
119
12- The product of two ` Bifunctor ` s.
13-
14- #### ` productBifunctor `
15-
10+ ##### Instances
1611``` purescript
1712instance productBifunctor :: (Bifunctor f, Bifunctor g) => Bifunctor (Product f g)
18- ```
19-
20-
21- #### ` productBiapply `
22-
23- ``` purescript
2413instance productBiapply :: (Biapply f, Biapply g) => Biapply (Product f g)
25- ```
26-
27-
28- #### ` productBiapplicative `
29-
30- ``` purescript
3114instance productBiapplicative :: (Biapplicative f, Biapplicative g) => Biapplicative (Product f g)
3215```
3316
34-
17+ The product of two ` Bifunctor ` s.
3518
3619
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Data.Bifunctor.Wrap
42
53#### ` Wrap `
@@ -9,44 +7,23 @@ data Wrap p a b
97 = Wrap (p a b)
108```
119
12- A ` newtype ` wrapper which provides a ` Functor ` over the second argument of
13- a ` Bifunctor `
14-
15- #### ` unwrap `
16-
17- ``` purescript
18- unwrap :: forall p a b. Wrap p a b -> p a b
19- ```
20-
21- Remove the ` Wrap ` constructor.
22-
23- #### ` wrapBifunctor `
24-
10+ ##### Instances
2511``` purescript
2612instance wrapBifunctor :: (Bifunctor p) => Bifunctor (Wrap p)
27- ```
28-
29-
30- #### ` wrapFunctor `
31-
32- ``` purescript
3313instance wrapFunctor :: (Bifunctor p) => Functor (Wrap p a)
34- ```
35-
36-
37- #### ` wrapBiapply `
38-
39- ``` purescript
4014instance wrapBiapply :: (Biapply p) => Biapply (Wrap p)
15+ instance wrapBiapplicative :: (Biapplicative p) => Biapplicative (Wrap p)
4116```
4217
18+ A ` newtype ` wrapper which provides a ` Functor ` over the second argument of
19+ a ` Bifunctor `
4320
44- #### ` wrapBiapplicative `
21+ #### ` unwrap `
4522
4623``` purescript
47- instance wrapBiapplicative :: (Biapplicative p) => Biapplicative ( Wrap p)
24+ unwrap :: forall p a b. Wrap p a b -> p a b
4825```
4926
50-
27+ Remove the ` Wrap ` constructor.
5128
5229
Original file line number Diff line number Diff line change 1- # Module Documentation
2-
31## Module Data.Bifunctor
42
53#### ` Bifunctor `
@@ -40,4 +38,3 @@ rmap :: forall f a b c. (Bifunctor f) => (b -> c) -> f a b -> f a c
4038Map a function over the second type arguments of a ` Bifunctor ` .
4139
4240
43-
You can’t perform that action at this time.
0 commit comments