logo       

[ ghc-Bugs-1119221 ] Rebindable syntax doesn't work as advertised: msg#00035

lang.haskell.glasgow.bugs

Subject: [ ghc-Bugs-1119221 ] Rebindable syntax doesn't work as advertised

Bugs item #1119221, was opened at 2005-02-09 03:07
Message generated for change (Comment added) made by nobody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1119221&group_id=8032

Category: Compiler (Type checker)
Group: 6.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: Rebindable syntax doesn't work as advertised

Initial Comment:
--
-- According to section 7.3.5. Rebindable syntax in the
user's manual
-- this should work (unless I totally misunderstood it).
-- It doesn't.
--
-- Compile with -fno-implicit-prelude
--
-- Lennart
--

import Prelude hiding(Monad(..))

class B a where
b :: a

instance B Bool where
b = False

class M m where
return :: a -> m a
(>>=) :: (B a) => m a -> (a -> m b) -> m b
(>>) :: (B a) => m a -> m b -> m b
fail :: String -> m a

p >> q = p >>= \ _ -> q
fail s = error s

instance M Maybe where
return x = Just x
(>>=) = error "bind"

test :: Maybe Bool
test = do
x <- return True
return (x && x)

unJust (Just x) = x

main = print (unJust test)


----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2005-02-10 08:45

Message:
Logged In: NO

You're not alone:

http://www.haskell.org/pipermail/haskell/2005-January/015113.html

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2005-02-10 08:41

Message:
Logged In: NO

I would much prefer if the implementation had changed to
match the documentation. :)

-- Lennart


----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2005-02-10 08:24

Message:
Logged In: NO

The documentation was wrong - it now says that >>= etc have
to be polymorphic.

----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=1119221&group_id=8032


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise