
#9250: let makes function too much specific --------------------------+------------------------------------------------ Reporter: | Owner: KommuSoft | Status: new Type: bug | Milestone: Priority: low | Version: 7.6.3 Component: | Operating System: Unknown/Multiple Compiler | Type of failure: Incorrect result at runtime Keywords: | Test Case: Architecture: x86_64 | Blocking: (amd64) | Difficulty: | Unknown | Blocked By: | Related Tickets: | --------------------------+------------------------------------------------ Say you define a `myadd` function: let myadd x y = x + y Then the type is `Num a => a -> a -> a`. If on the other hand, you define the method using currying: let myadd2 \x -> \y -> x + y The type is more specific: `Integer -> Integer -> Integer`. Strangely enough `:t \x -> \y -> x + y` returns the more general form. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9250 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler