[Haskell-cafe] type families and type signatures
Manuel M T Chakravarty
chak at cse.unsw.edu.au
Fri Apr 11 00:26:12 EDT 2008
> On Thu, Apr 10, 2008 at 4:20 AM, Manuel M T Chakravarty <chak at cse.unsw.edu.au
> > wrote:
> Lennart Augustsson:
> On Wed, Apr 9, 2008 at 8:53 AM, Martin Sulzmann <martin.sulzmann at gmail.com
> > wrote:
> Lennart, you said
> (It's also pretty easy to fix the problem.)
> What do you mean? Easy to fix the type checker, or easy to fix the
> program by inserting annotations
> to guide the type checker?
> I'm referring to the situation where the type inferred by the type
> checker is illegal for me to put into the program.
> In our example we can fix this in two ways, by making foo' illegal
> even when it has no signature, or making foo' legal even when it has
> a signature.
> To make it illegal: If foo' has no type signature, infer a type for
> foo', insert this type as a signature and type check again. If this
> fails, foo' is illegal.
> That would be possible, but it means we have to do this for all
> bindings in a program (also all lets bindings etc).
> Of course, but I'd rather the compiler did it than I. It's not that
> hard, btw. If the whole module type checks, insert all signatures
> and type check again.
Sure. I did not argue against this. I think it would be a reasonable
More information about the Haskell-Cafe