News for hackers. Stuff that matters.
Re:Rust's 2018 roadmap by nogenerics123 on Tuesday March 13, 2018 @01:24AM (#16574018)
Many times do blocks are passed into functions so the monad type can be looked up from the function definition.

    flip runStateT s $ do ...
To find the type of this do block I don't have to scan it I just have to look up the definition of runStateT.

If I have to add an explicit annotation to a do block it's simple enough to separate it into another function.

    justSix :: Maybe Int
    justSix = do
        x <- pure 1
        y <- pure 5
        pure (x + y)
I read the article and couldn't find the part where they said that type inference is a problem with do notation.

There are no comments on this comment yet.