Proposal: unify constant functors

Andreas Abel andreas.abel at ifi.lmu.de
Mon Apr 30 14:05:18 CEST 2012


On 30.04.12 1:56 PM, Ross Paterson wrote:
> On Mon, Apr 30, 2012 at 10:55:51AM +0100, Bas van Dijk wrote:
>> On 30 April 2012 07:33, wren ng thornton<wren at freegeek.org>  wrote:
>>>     (1) add the Foldable and Traversable instances to base, and

+1

>>>     (2) deprecate transformers:Data.Functor.Constant
>>
>> I assume you want to re-export Control.Applicative.Constant from
>> Data.Functor.Constant and deprecate the whole module as in:
>>
>> module Data.Functor.Constant
>>    {-# DEPRECATED "Import Constant from Control.Applicative instead" #-}
>>    ( Constant(..) ) where
>>
>> import Control.Applicative
>
> Not quite, as the one in Control.Applicative is called Const and the
> one in Data.Functor.Constant is called Constant.  I slightly prefer the
> full name.  Maybe just move Data.Functor.Constant into base (removing
> the copy in Control.Applicative)?

I'd second that.  All I get from Const in Control.Applicative is import 
conflicts.  The full name, 'Constant' is better.

-- 
Andreas Abel  <><      Du bist der geliebte Mensch.

Theoretical Computer Science, University of Munich
Oettingenstr. 67, D-80538 Munich, GERMANY

andreas.abel at ifi.lmu.de
http://www2.tcs.ifi.lmu.de/~abel/



More information about the Libraries mailing list