on 5e6a67f help sign in
40 lines 747 B history raw
1### `++lift`
3Curried bind
5Accepts a `++gate` `a` and produces a function that accepts `++unit`
6`b` to which it applies `a`. Used when you want a function that does not accept
7or produce a unit to both accept and produce a unit.
9Accepts
10-------
12`a` is a gate.
14`b` is a unit.
16Produces
17--------
19A unit.
21Source
22------
24 ++ lift :: lift gate (fmap)
25 |* a/gate :: flipped
26 |* b/(unit) :: curried
27 (bind b a) :: bind
30Examples
31--------
33 ~zod/try=> ((lift dec) `(unit @)`~)
34 ~
35 ~zod/try=> ((lift dec) `(unit @)`[~ 20])
36 [~ 19]
40***