MonEx.Arrows (MonEx v0.2.1)

Copy Markdown View Source

Infix shorthand operators for MonEx.map/2 and MonEx.flat_map/2.

Summary

Functions

Infix alias for MonEx.map/2.

Infix alias for MonEx.flat_map/2.

Functions

m ~> f

@spec m(a, b) ~> (a -> c) :: m(c, b) when a: any(), b: any(), c: any()

Infix alias for MonEx.map/2.

Example

f = fn x -> x * 2 end

some(5) ~> f == some(10)
none()  ~> f == none()

m ~>> f

@spec m(a, b) ~>> (a -> m(c, d)) :: m(c, d)
when a: any(), b: any(), c: any(), d: any()

Infix alias for MonEx.flat_map/2.

Example

f = fn x -> ok(x * 2) end

ok(5)        ~>> f == ok(10)
error("Err") ~>> f == error("Err")