From 53e1fe37ade34c02b796daa6f05614870b41f5d8 Mon Sep 17 00:00:00 2001 From: Ross Paterson Date: Wed, 3 Sep 2008 14:44:36 +0000 Subject: [PATCH] remove 'pure' method from Arrow class (#2517) --- Control/Arrow.hs | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) 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. -- 1.7.10.4