Isn't the assymetric check the wrong way? If it returns true, we know nothing because it might not be a hash-set, but if it returns false then we know that it is not a hash set?
On Fri, Aug 30, 2013 at 3:30 PM, Asumu Takikawa <as...@ccs.neu.edu> wrote: > On 2013-08-30 16:15:23 -0400, Sam Tobin-Hochstadt wrote: >> I worry about mutable sets here, but I can't think of any bugs it can >> cause ATM. > > I don't have any segfault-causing bugs, but here's a violation of the blame > theorem: > > #lang racket > > (module a0 racket > (define s (mutable-set 1 2 3)) > (provide s)) > > (module a typed/racket > (require/typed (submod ".." a0) [s Any]) > (: x (Setof Any)) > (define x (assert s generic-set?)) > (provide x)) > > (require 'a) > x > > Cheers, > Asumu > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev _________________________ Racket Developers list: http://lists.racket-lang.org/dev