
#11573: Inferred CallStacks expose implicit parameter -------------------------------------+------------------------------------- Reporter: bgamari | Owner: gridaphobe Type: bug | Status: patch Priority: normal | Milestone: 8.0.1 Component: Compiler (Type | Version: 8.0.1-rc2 checker) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: #11383 | Differential Rev(s): Phab:D1911, Wiki Page: | Phab:D1912 -------------------------------------+------------------------------------- Changes (by gridaphobe): * differential: Phab:D1911 => Phab:D1911, Phab:D1912 * related: => #11383 Comment:
Here we infer foo :: [a] -> a, without a HasCallStack constraint. Correct?
That's incorrect as of the reworked solver, but as you've seen D1912 is going to put the original "don't infer top-level call-stacks" behavior back in place.
- The user manual was updated to be a more complete and accurate spec - It referred to the wiki page
Sure, I didn't realize we linked to the wiki from the manual.
- The wiki page was updated to reflect reality
I've been treating the wiki page as append-only, so I'll add a section that explains the final design.
I think that a let binding in GHCi should have the same status as a top- level binding in a module
I agree, and D1912 does treat them as top-level. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11573#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler