I always forget how to write Haskell-like function signatures in F#.
type AddOne = int -> int
let addOne : AddOne =
fun i ->
i + 1
You can think of AddOne
as an interface in OO-languages, for functions.
Basically, it’s a (C#) delegate, with less boilerplate.
The beauty of it: I can model my domain with AddOne
, without caring about the implementation of addOne
.