On 2015-05-11 14:33:51 -0400, Benjamin Greenman wrote: > This program gives a confusing error message. Does anyone know why the > "xs" in the body doesn't have type "(List Foo)"?
It's because the type `Foo` is not defined, so it cannot have a sensible representation. Erroneous types like this `Foo` are turned into `Error` (unless the error stops the type-checker). Error does not propagate (i.e., (Listof Error) != Error) so you can get weird error messages like this. ;;; Maybe we should consider just terminating the typechecker when it hits undefined types (or other malformed types) instead of trying to continue? I know that the current behavior of Error types causes at least one soundness bug in the top-level. Cheers, Asumu -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.