Skip to content

remove 'pure' method from Arrow class

The Arrow class as originally defined by John Hughes had methods arr, >>> and first. (>>> has since been moved by #1773 (closed) 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 because

  • no-one seems to be using this name, and
  • backward compatibility has been broken anyway by the Category split (#1773 (closed)).

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.

Trac metadata
Trac field Value
Version
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component libraries/base
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Unknown
Architecture Unknown
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information