Re: what monad is this?

Noon van der Silk <[email protected]>
Newsgroups gmane.comp.lang.haskell.cafe
Message-ID <CAKBUzA0yF8KCfvXxw24cZ4YRBbgbTXe-baeVYQSr-sTyPH-WDA@mail.gmail.com>
Yeah, it's a bit confusing; I think some tutorials/books do go over the
`do` simplification steps. I guess conceptually `do` doesn't mean
`Definitely a Monad`, it means `Maybe a Monad` or more `Probably should be
a Monad, and if not, just remove the do!`.

On Wed, 21 Feb 2024 at 09:18, Johannes Waldmann <
[email protected]> wrote:

> Dear Cafe,
>
> I was surprised to see  ghc  accept this code
>
> ghci> do let {x = False}; not x
> True
>
> because I initially thought: there's a `do`, so there must be some monad,
> but which is it? some implicit Identity monad perhaps?
>
> But the type is indeed plain `Bool`, and the explanation is (I think):
> there is a `do` but there is no monad, since the translation according to
> (
> https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-470003.14
> )
> does never produce `(>>=)`.
>
> So, all is fine, nothing to see here.
> Perhaps keep in mind as an edge case, useful to confuse students.
> Actually, to motivate them to read the language standard ...
>
> - J.W.
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.



-- 
Noon van der Silk

http://silky.github.io/

"My programming language is kindness."

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.