[racket-dev] [racket-bug] all/12434: match fails to signal type error?

From: Eli Barzilay (eli at barzilay.org)
Date: Sun Dec 11 04:20:29 EST 2011

Two days ago, Sam Tobin-Hochstadt wrote:
> On Fri, Dec 9, 2011 at 3:32 PM, Jay McCarthy <jay.mccarthy at gmail.com> wrote:
> > This is now the fourth time I've seen people ask about this.
> >
> > Why can't Typed Racket be a little different than Racket and have
> > another match form that does this or a notion of disjoint unions?
> This has been implemented, and is used in Eli's PL class.  It just
> needs to be merged into the main branch of PLAI development.
> However, this doesn't give you what people seem to want, which is
> having `match' report coverage errors.

I still would like to get rid of my thing and instead be able to use
only `match'.  (This is to get rid of the current wart where students
need to learn about both `cases' and `match', which are confusingly
similar.)  I thought that the new `typecheck-fail' thing would specify
the types that are left at that point, which would be similar.

> Instead, it works only on its notion of disjoint union, just as the
> regular PLAI forms do.

(It's not like the PLAI, since there is no pattern matching there.)

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.