1 comment

[ 3.3 ms ] story [ 9.7 ms ] thread
I think this sort of interactive development is a very good direction for type systems to take. A good type system not only precludes a wide range of annoying errors but also makes the language more expressive (e.g. typeclasses) and can even be an aide in developing the program in the first place.

For example, I imagine a tool like Hoogle* would be really awesome: you give it a type and it suggests how to compose functions to get that type. I know somebody implemented this for Java, but I think it would be more powerful and easier in a language like Haskell.

The important idea is to use type systems for more than just preventing errors, as these type holes show.