[Haskell-cafe] Re: Curious Functor Class

Ashley Yakeley ashley at semantic.org
Thu Sep 28 03:59:27 EDT 2006

On Sep 28, 2006, at 00:38, Jeremy Gibbons wrote:

>> Perhaps the key is that there exist types P and Q s.t. there's an  
>> isomorphism
>>   F a <=> (P -> a,Q)
> F is Naperian iff there's a P with F a = P -> a; but what's the Q for?
>> This seems to be intuitively Napierian:
>>   ln (P -> a,Q) = (P,ln a) | ln Q
>> I can believe that Hoistables are in fact Idioms, though I know  
>> there are Idioms that are not Hoistables (Maybe and Either, for  
>> instance).
> That's right. Every Monad is an Idiom. So are constant functors (F  
> a = Int) - which I guess a Naperian anyway.

Hoistables are not always Idioms, it turns out. I think this can be  
made a Hoistable, but not an Idiom (because it has a "Q"):

   type WithInt = (,) Int -- i.e. WithInt a = (Int,a)

I don't know if that counts as Napierian or not.

>> (Also I think "Idiom" is a better class name than "Applicative".)
> Me too! Can you tell Ross and Conor? I've tried...

Hey Ross, Conor, "Idiom" is a better name than "Applicative". Pretty  
much everyone thinks so.

>    *
> I don't subscribe to haskell-cafe, so apparently I can't post. Feel  
> free to post my reply there, if you think it is useful.

Ashley Yakeley

More information about the Haskell-Cafe mailing list