From: Ross Paterson Date: Wed, 3 Sep 2008 14:44:36 +0000 (+0000) Subject: remove 'pure' method from Arrow class (#2517) X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=53e1fe37ade34c02b796daa6f05614870b41f5d8;p=ghc-base.git remove 'pure' method from Arrow class (#2517) --- diff --git a/Control/Arrow.hs b/Control/Arrow.hs index ed9fa73..3fa7e1e 100644 --- a/Control/Arrow.hs +++ b/Control/Arrow.hs @@ -54,20 +54,16 @@ infixr 1 ^>>, >>^ infixr 1 ^<<, <<^ -- | The basic arrow class. --- Any instance must define either 'arr' or 'pure' (which are synonyms), --- as well as 'first'. The other combinators have sensible --- default definitions, which may be overridden for efficiency. +-- +-- Minimal complete definition: 'arr' and 'first'. +-- +-- The other combinators have sensible default definitions, +-- which may be overridden for efficiency. class Category a => Arrow a where - -- | Lift a function to an arrow: you must define either this - -- or 'pure'. + -- | Lift a function to an arrow. arr :: (b -> c) -> a b c - arr = pure - - -- | A synonym for 'arr': you must define one or other of them. - pure :: (b -> c) -> a b c - pure = arr -- | Send the first component of the input through the argument -- arrow, and copy the rest unchanged to the output.