[Haskell] Mixing monadic and non-monadic functions
J. Garrett Morris
trevion at gmail.com
Fri Sep 9 08:05:02 EDT 2005
On 9/9/05, Keean Schupke <k.schupke at imperial.ac.uk> wrote:
> Just noticed the 1+[1,2] case... I am not certain whether this is
> possible - it is outside the
> scope of the formal definiton of Haskell and may rely on implementation
> details of the compiler/interpreter.
While this is outside the scope of the current Num class, if we adopt
the suggestion to redefine the standard classes using functional
dependencies (which is, I think, a useful addition to the standard
prelude anyway), we have, for example:
class Plus a b c | a b -> c
where (+) :: a -> b -> c
instance (Plus a b c, Functor f) => a -> f b -> f c
where a + fb = fmap (a +) fb
and so forth. However, this doesn't generalize obviously (in any way
that I see) to generic two argument functions, which seemed to be what
Frederik wanted.
/g
More information about the Haskell
mailing list