[racket-dev] Typed Racket and ADTs

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Mon Aug 2 11:51:32 EDT 2010

On Mon, Aug 2, 2010 at 11:38 AM, Shriram Krishnamurthi <sk at cs.brown.edu> wrote:
> So why do you have an opaque require?

The opaque form of `require/typed' is to allow requiring operations on
an ADT for which only a predicate is known. It supports using
`require/typed' with ADTs defined in exactly the way Matthias
suggests. For example, if there was no built-in `String' type, then
the opaque form of `require/typed' would be the way to specify it.
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.