#5624: Delay Errors Until Runtime
-------------------------------+--------------------------------------------
  Reporter:  atnnn             |          Owner:                  
      Type:  feature request   |         Status:  new             
  Priority:  high              |      Milestone:  7.6.1           
 Component:  Compiler          |        Version:  7.3             
Resolution:                    |       Keywords:                  
        Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown      |     Difficulty:  Unknown         
  Testcase:                    |      Blockedby:                  
  Blocking:                    |        Related:                  
-------------------------------+--------------------------------------------
Changes (by simonpj):

  * owner:  atnnn =>
  * status:  closed => new
  * resolution:  fixed =>


Comment:

 This isn't documented (yet -- Paolo is going to add a short section to the
 user manual), but currently `-fdefer-type-errors` is switched off for
 "naked expressions" typed at the command prompt.  Why?  Because such
 expressions are typechecked, and then immediately evaluated.  So if you
 said
 {{{
 ghci -fdefer-type-errors
 Prelude> True && 'x'
 }}}
 you'd get a warning (from type checking) and an immediately-following
 error (when evaluating the expression):
 {{{
 Warning: Can't unify Bool and Char
 Error: Can't unify Bool and Char
 }}}
 This is a bit stupid, and it's a very common case.

 If you use a "statement" rather than an expression, you get deferred type
 errors, thus
 {{{
 Prelude> let v = True && 'x'
 Warning: Can't unify Bool and Char
 Prelude> v
 Error: Can't unify Bool and Char
 }}}
 Does that make sense?  Nothing deep here; it's just a user-interface
 issue.  Yell if you think the behaviour should be different.

 I'm re-opening the ticket for Paolo to add a short manual section.

 Simon

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

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to