[Haskell-cafe] distinguish functions from non-functions in a class/instances

Dan Weston westondan at imageworks.com
Wed Dec 5 17:15:33 EST 2007

Wouldn't any isomorphism do (like the Identity monad)? How about

nary' f = runIdentity . nary (liftM f) . return

Brandon S. Allbery KF8NH wrote:
> On Dec 5, 2007, at 16:00 , Philipp N. wrote:
>> the odd thing is. you can get this to work, if you have a terminating 
>> type
>> as result type (for example (IO x)). then you can work with all types (IO
>> x), (a -> IO x), (a -> b -> IO x), ...
>> but i don't want this delimiter IO! any ideas?
> Use ST instead?  (just tossing ideas in the wind...)

More information about the Haskell-Cafe mailing list