[racket] typed racket: inconsistent interaction between typed and untyped code?
On Fri, Mar 4, 2011 at 7:00 PM, Danny Yoo <dyoo at cs.wpi.edu> wrote:
>> Sadly, off the top of my head, I don't have a quick workaround for
>> you. Maybe Sam will have a better suggestion.
>
> I'm still confused, because I'm in untyped code, which I had assumed
> would maintain types at runtime through the use of contracts. My
> question is: why doesn't the use of toplevel-vals from untyped code
> observe the value:
>
> #<Typed Value: #(struct:toplevel #(foobar))>
>
> at runtime and be satisfied that this really is a toplevel structure?
> That is, I don't mind so much that the value is wrapped, just so long
> as the structure selector deals with the wrapping.
The structure selector can't deal with the wrapping, since it expectes
a `toplevel?', which this is not. It's possible that there's a better
theory to be worked out of `Any', but we haven't done that yet.
--
sam th
samth at ccs.neu.edu