Comment
Comment by omegaham
Note that in OCaml, you can't get too screwy with point-free programming because of the value restriction. It is possible to compose functions in a point-free manner, but those functions themselves have to have points if you want them to be generic. Standard example:
This is of type
Neat, `'a` is generic. Let's η-reduce out the `xs` and make the function point-free (ignoring the lambda):
This doesn't work the way that we want:
The moment that we call this weakly polymorphic function, its type is fixed and is no longer generic. In the toplevel:
Haskell, of course, is totally happy to let you do point-free mania with Kleisli arrows and all of the rest of it.