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


_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to