[racket] An error with dates and types

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Sun Aug 21 20:15:37 EDT 2011

On Sun, Aug 21, 2011 at 5:20 PM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> The way I understand the word "ought" comes with a moral connotation.
> In this sense, I am saying
>
> (1) require should not exist in TR
>
> (2) require: should exist for importing from typed modules
>
> (3) require-typed should exist for importing from untyped modules.
>
> Why? The idea of explicit specifications is sound/safe *documentation*.
> I consider this aspect particularly important at the boundary between
> typed and untyped code.
>
> What do we lose if we go this route? As far as I can tell, we lose
> the ability to import macros from untyped modules. I consider this
> *good* because macros cause problems with error messages. So what
> we need is a way to require-typed macros (and I have an idea on that).
>
> [[ I honestly didn't know that we could import stuff from untyped
> modules and hope that require could figure out that it types. It
> doesn't even work for
>  (module a racket/base (define x 5) (provide x))
> so I am not sure what we could get to work. ]]

You can't.  You can require stuff from *typed* modules.

--Carl



Posted on the users mailing list.