proposal #2517: remove 'pure' method from Arrow class

Ross Paterson ross at
Fri Aug 15 08:44:05 EDT 2008

The Arrow class as originally defined by John Hughes had methods arr, >>>
and first.  (>>> has since been moved by #1773 to the Category class.)
When writing the "Fun of Programming" paper, I added pure as a synonym
for arr, because Richard Bird preferred it.  However this name hasn't
caught on, and now it clashes with a method in the Applicative class,
so I propose to remove it.

The usual practice would be to deprecate the name in one release and
remove it in the following one, but I propose to remove it in one step
 * no-one seems to be using this name, and
 * backward compatibility has been broken anyway by the Category split
The only people who will be bitten by the change are those who import
Control.Arrow hiding pure, and they wouldn't be warned by deprecation.

More information about the Libraries mailing list