 
            
            
            
            
                30 Jun
                
                    2011
                
            
            
                30 Jun
                
                '11
                
            
            
            
        
    
                7:05 p.m.
            
        On 1 July 2011 08:58, Joshua Ball 
GHCi seems to be clever about some things:
If I try to print the empty list in ghci, I encounter no problems:
Prelude> [] [] Prelude> show [] "[]" Prelude> print [] []
Even though the type of the list is clearly unknown, it must be picking SOME type. (why does it print [] instead of "")?
Type defaulting: if you don't specify a type, then ghci makes it [Integer].
If I write a program in a file and load it in
main = print []
Then I get the ambiguous type variable error that I would expect. Why doesn't ghci generate this error at the prompt?
Because ghc doesn't do type defaulting. -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com