Changes between Version 3 and Version 4 of DeferErrorsToRuntime


Ignore:
Timestamp:
Dec 21, 2011 9:03:50 AM (2 years ago)
Author:
dreixel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DeferErrorsToRuntime

    v3 v4  
    88if there are type errors in the code. Consider the following case: 
    99{{{ 
    10   module Main where 
     10module Main where 
    1111 
    12   a :: Int 
    13   a = 'a' 
     12a :: Int 
     13a = 'a' 
    1414 
    15   main = print "b" 
     15main = print "b" 
    1616}}} 
    1717Even though `a` is ill-typed, it is not used in the end, so if all that we're 
     
    2323that, `a` will get transformed into 
    2424{{{ 
    25   $co :: Int ~# Char 
    26   $co = ... 
     25$co :: Int ~# Char 
     26$co = ... 
    2727 
    28   a :: Int 
    29   a = 'a' `cast` $co 
     28a :: Int 
     29a = 'a' `cast` $co 
    3030}}} 
    3131The constraint solver would realize that `co` is an insoluble constraint, and