Changes between Version 3 and Version 4 of DeferErrorsToRuntime


Ignore:
Timestamp:
Dec 21, 2011 9:03:50 AM (4 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