Re: ghc 8.4.1 and trac 13930

2018-05-02 Thread Evan Laforge
On Wed, May 2, 2018 at 12:27 PM, Simon Peyton Jones wrote: > Wow. Could you open a ticket? Done: https://ghc.haskell.org/trac/ghc/ticket/15114 > I just tried with 8.2.2 which is what I have on this laptop, but it printed > "all is well". Does that mean it was fine in 8.2, went wrong in 8.4.1

RE: ghc 8.4.1 and trac 13930

2018-05-02 Thread Simon Peyton Jones via ghc-devs
19:39 | To: Simon Peyton Jones | Cc: ghc-devs@haskell.org | Subject: Re: ghc 8.4.1 and trac 13930 | | Ok, here's a short module: | | import qualified Control.Exception as Exception | | main :: IO () | main = do | unserialize | putStrLn "all is well" | | unserialize :: IO Char

Re: ghc 8.4.1 and trac 13930

2018-05-02 Thread Evan Laforge
Ok, here's a short module: import qualified Control.Exception as Exception main :: IO () main = do unserialize putStrLn "all is well" unserialize :: IO Char unserialize = if definitelyTrue then do return 'a' else do Exception.evaluate (error "w

Re: ghc 8.4.1 and trac 13930

2018-05-02 Thread Evan Laforge
On Wed, May 2, 2018 at 1:24 AM, Simon Peyton Jones wrote: > | I recently noticed that with -O1, ghc was optimizing some code > | > | if Trace.traceShowId "b" $ True > | then ... > | else ... > | > | to always evaluate the 'else' branch. > > Are you certain this is #13930?

RE: ghc 8.4.1 and trac 13930

2018-05-02 Thread Simon Peyton Jones via ghc-devs
| I recently noticed that with -O1, ghc was optimizing some code | | if Trace.traceShowId "b" $ True | then ... | else ... | | to always evaluate the 'else' branch. Are you certain this is #13930? I don't see an obvious connection. It seems really really terrible

Re: ghc 8.4.1 and trac 13930

2018-05-01 Thread Evan Laforge
On Tue, May 1, 2018 at 9:58 PM, Ben Gamari wrote: > Yes, I suppose the language in the release notes does rather understate > the degree of the incorrectness. > > I'll push a new version of the manual with some stronger language > tomorrow. Good deal, thanks for the quick response. __

Re: ghc 8.4.1 and trac 13930

2018-05-01 Thread Ben Gamari
Evan Laforge writes: > I recently noticed that with -O1, ghc was optimizing some code > > if Trace.traceShowId "b" $ True > then return $ Left $ Serialize.BadMagic (Serialize.magicBytes > magic) file_magic > else first Serialize.UnserializeError <$> Exception.evaluate > (Seria