Skip to content
This repository was archived by the owner on Feb 24, 2025. It is now read-only.

Commit d6c559d

Browse files
committed
rock-steady
1 parent e49935c commit d6c559d

36 files changed

+373
-1217
lines changed

README.md

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
2+
3+
Then
4+
5+
_____________________________________________
6+
7+
then(f,g):: g(f(x))
8+
_____________________________________________
9+
Arrowlet<A,B> -> Arrowlet<B,C> -> Arrowlet<A,C>;
10+
11+
First
12+
13+
_____________________________________________
14+
15+
/ - f - \
16+
first(f)::(l,r)< >(f(l),r))
17+
\ - - - /
18+
_____________________________________________
19+
Arrowlet<A,B> -> Arrowlet<Tuple2<A,C>,Tuple2<B,C>>
20+
21+
Second
22+
23+
_____________________________________________
24+
25+
/ - - - \
26+
second(g):: (l,r)< >(l,g(r))
27+
\ - g - /
28+
29+
_____________________________________________
30+
Arrowlet<A,B> -> Arrowlet<Tuple2<C,A>,Tuple2<C,B>>
31+
32+
Pair
33+
34+
_____________________________________________
35+
36+
/ - f - \
37+
pair(f,g):: (l,r)< >(f(l),g(r)))
38+
\ - g - /
39+
40+
_____________________________________________
41+
f -> g -> ((l,r) -> (f(l),g(r))
42+
Arrowlet<A,B> -> Arrowlet<C,D> -> Arrowlet<Tuple2<A,C>, Tuple2<B,D>>
43+
44+
Split
45+
_____________________________________________
46+
47+
/ - f - \
48+
split(f,g):: (x,x)< >(f(x),g(x)))
49+
\ - g - /
50+
51+
_____________________________________________
52+
Arrowlet<A, B> -> Arrowlet<A, C> -> Arrowlet<A, Tuple2<B,C>>
53+
54+
Join
55+
56+
_____________________________________________
57+
58+
join(f,g):: x - f - g - \
59+
\ - - - - > (f(x),g(f(x)))
60+
61+
_____________________________________________
62+
Arrowlet<A,B> -> Arrowlet<B,C> -> Arrowlet<A,Tuple2<B,C>>
63+
64+
Tie
65+
66+
_____________________________________________
67+
68+
/ - - - \ -\
69+
tie(f,g):: x < g > g(x,f(x))
70+
\ - f - / -/
71+
72+
_____________________________________________
73+
Arrowlet<A,B> -> Arrowlet<Tuple2<A,B>,C> -> Arrowlet<A,C>
74+
75+
Repeat / Animate
76+
77+
_____________________________________________
78+
79+
<-<- [left]
80+
\ /
81+
repeat(f):: x -> f
82+
\_ [right] f(x)
83+
84+
_____________________________________________
85+
Arrowlet<I,tink.Either<I,O> -> Arrowlet<I,O>
86+
87+
Either
88+
89+
_____________________________________________
90+
91+
92+
/ - f - \
93+
split(f,g):: x < > f(x) || g(x)
94+
\ - g - /
95+
96+
_____________________________________________
97+
Arrowlet<A,B> -> Arrowlet<A,B> -> Arrowlet<A,B>
98+
99+
100+
Done

0 commit comments

Comments
 (0)