===== Original Message From Sigbjorn Finne
===== Section 3.14 presents a bunch of identities that hold for "do", but only suggests that these might be used by a Haskell system when desugaring "do" expressions.
The version of the report that I have states, "Do expressions satisfy these identities..." I read this as a requirement, not a mere suggestion. It doesn't read, "might satisfy," or, "can satisfy," but just, "satisfy". Is there a newer version of the report that weakens this? This is not a mere academic curiosity to me. My application needs the ability to redefine ">>" and have it work correctly using "do" notation. I don't yet understand why the inability of Hugs (and GHC, apparently) to support this is anything other than nonconformance with Haskell 98. --- James B. White III (Trey) Center for Computational Sciences Oak Ridge National Laboratory whitejbiii@ornl.gov
James B. White III (Trey) wrote:
===== Original Message From Sigbjorn Finne
===== Section 3.14 presents a bunch of identities that hold for "do", but only suggests that these might be used by a Haskell system when desugaring "do" expressions. The version of the report that I have states, "Do expressions satisfy these identities..." I read this as a requirement, not a mere suggestion. It doesn't read, "might satisfy," or, "can satisfy," but just, "satisfy". Is there a newer version of the report that weakens this?
This is not a mere academic curiosity to me. My application needs the ability to redefine ">>" and have it work correctly using "do" notation. I don't yet understand why the inability of Hugs (and GHC, apparently) to support this is anything other than nonconformance with Haskell 98.
Although not stated as an explicit requirement, I thought it was pretty clear that the default definition of (>>) in terms of (>>=), i.e.: m >> k = m >>= \_ -> k was also a requirement that every "monad" must satisfy. If your monad obeys this identity, then why would you care whether the syntactic sugar expands using (>>) or (>>=)? And if your monad doesn't satisfy this identity, are you sure the type you are working with is really a monad? -antony -- Antony Courtney Grad. Student, Dept. of Computer Science, Yale University antony@apocalypse.org http://www.apocalypse.org/pub/u/antony
participants (2)
-
Antony Courtney -
James B. White III (Trey)