[Haskell-cafe] overloading functions
Tom Ellis
tom-lists-haskell-cafe-2017 at jaguarpaw.co.uk
Thu Jan 10 14:27:06 UTC 2019
On Thu, Jan 10, 2019 at 12:34:04PM +0100, Damien Mattei wrote:
> i have this definition:
>
> {-# LANGUAGE FlexibleInstances #-}
>
> class ConcatenateMaybeString a where
> cms :: Maybe String -> a -> Maybe String
>
>
> instance ConcatenateMaybeString (Maybe String) where
> cms mf ms =
> mf >>= (\f ->
> ms >>= (\s ->
> return (f ++ s)))
>
>
>
> instance ConcatenateMaybeString String where
> cms mf s =
> mf >>= (\f -> return (f ++ s))
Trying to simulate overloading like this is ultimately going to lead to more
frustration than benefit. I strongly suggest you just define two different
functions.
More information about the Haskell-Cafe
mailing list