Delay Errors Until Runtime
I would like to add an -XDelayErrors flag to GHC that
- changes most type errors into warnings
- replaces the faulty expressions with runtime exceptions
This would make haskell development a lot easier. For example, this makes it possible to load buggy code into ghci to be able to execute it and show inferred types.
$ cat hello.lhs
> main = putStr "Hello World" >> putStr ','
$ inplace/bin/ghc-stage2 --make hello -XDelayErrors
[1 of 1] Compiling Main ( hello.lhs, hello.o )
Linking hello ...
$ ./hello
Hello World
hello: hello.lhs:1:41:
Couldn't match expected type `GHC.Base.String'
with actual type `GHC.Types.Char'
In the first argument of `System.IO.putStr', namely ','
In the second argument of `(GHC.Base.>>)', namely
System.IO.putStr ','
In the expression:
System.IO.putStr "Hello World" GHC.Base.>> System.IO.putStr ','
Trac metadata
Trac field | Value |
---|---|
Version | 7.3 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |