I think we should at least make `(Listof Error)` turn into `Error`.
That would eliminate the error message than Ben reported.

Sam

On Mon, May 11, 2015 at 4:01 PM, Asumu Takikawa <as...@ccs.neu.edu> wrote:
> 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.

-- 
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.

Reply via email to