[GHC] #2044: "Can't unify" error in debugger

GHC trac at galois.com
Tue Apr 15 05:15:18 EDT 2008


#2044: "Can't unify" error in debugger
--------------------+-------------------------------------------------------
 Reporter:  r6144   |          Owner:  mnislaih
     Type:  bug     |         Status:  assigned
 Priority:  normal  |      Milestone:  6.8.3   
Component:  GHCi    |        Version:  6.8.2   
 Severity:  normal  |     Resolution:          
 Keywords:          |     Difficulty:  Unknown 
 Testcase:          |   Architecture:  x86     
       Os:  Linux   |  
--------------------+-------------------------------------------------------
Comment (by simonpj):

 A value can be
  * A basic type like `Int`
  * A function, like `Int -> Int`
  * An overloaded function like `forall a. Eq a => a -> a`, or non-function
 like `forall a. Num a => a`
  * A polymorphic function like `forall a. [a] -> [a]`, or non-function
 like `forall a. [a]`
  * With impredicative polymorphism, a data structure containing
 polymorphic values, like `[forall a. a ->a]` or `[forall a. Eq a = a ->
 a]`

 These are all perfectly concrete values.  A function of type `forall a. Eq
 a => a -> a` takes two arguments not one, for example.   I'm not sure what
 you mean by a "factual type", nor what you mean by "should not touch the
 types of function types".

 It's true that in the '''representation''', the foralls are dropped, so a
 function of type `forall a. [a] -> [a]` takes just one argument.

 Simon

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2044#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list