21 lines
400 B
Standard ML
21 lines
400 B
Standard ML
|
(*
|
||
|
Pipe operator.
|
||
|
Simply to write code like "data |> fun" instead "fun data".
|
||
|
Then you can "pipe" results to functions via partial application:
|
||
|
|
||
|
fun square a b = a * b
|
||
|
fun sum a b = a + b
|
||
|
|
||
|
10 |> sum 10 |> square 2 // 40
|
||
|
*)
|
||
|
fun |> (x, f) = f x
|
||
|
|
||
|
(* apply operator *)
|
||
|
fun $ (f, x) = f x
|
||
|
|
||
|
(* composition operator *)
|
||
|
fun >> (f, g) x = g(f(x))
|
||
|
|
||
|
infix |>
|
||
|
infix $
|
||
|
infix >>
|