Proposal: Adding on

Nils Anders Danielsson nad at
Thu Nov 2 12:35:22 EST 2006

On Thu, 02 Nov 2006, Malcolm Wallace <Malcolm.Wallace at> wrote:

> However, the "Control." hierarchy is certainly the wrong place for it.
> The very name Control is intended to suggest things that are slightly
> outside the usual functional domain - more in the region of imperative
> control structures.

In that case, why do we have Control.Applicative, Control.Arrow etc.,
which are purely functional? The only non-functional libraries are
those that involve the IO or ST monads (Control.Concurrent,
Control.Exception, Control.Monad.ST, etc.).

Personally I prefer Data.Function (to match Data.Tuple, etc.), but it
doesn't really seem to match the current division between Data and
Control. Many nice little combinators (like (&&&) and (***)) can be
found in Control.Arrow, for instance.


More information about the Libraries mailing list