Control.Pipeline
|> and <| pipeline operators, inspired by the same functions from
F#, Elixir, Elm, etc.
Closes https://github.com/idris-lang/Idris-dev/issues/2817
commit20569c54f2e9cb7be21dab893a8b504ac7fe30f8
authorLouis Pilfold <louis@lpil.uk>
dateWed 5 Apr 2017, 19:24 (10 years ago)
parentc56feb8
libs/contrib/Control/Pipeline.idrnew file+20
@@ -0,0 +1,20 @@
1+module Control.Pipeline
2+
3+infixl 9 |>
4+infixr 0 <|
5+
6+%access public export
7+
8+
9+||| Pipeline style function application, useful for chaining
10+||| functions into a series of transformations, reading top
11+||| to bottom.
12+|||
13+||| [[1], [2], [3]] |> join |> map (* 2)
14+(|>) : a -> (a -> b) -> b
15+a |> f = f a
16+
17+
18+||| Backwards pipeline style function application, similar to $.
19+(<|) : (a -> b) -> a -> b
20+f <| a = f a