<div dir="ltr">There is such a predicate, Sam, and has been for some time.<br><div><div class="gmail_extra"><br clear="all"><div>Carl Eastlund</div>
<br><br><div class="gmail_quote">On Mon, Jul 8, 2013 at 5:12 PM, Sam Tobin-Hochstadt <span dir="ltr"><<a href="mailto:samth@ccs.neu.edu" target="_blank">samth@ccs.neu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ah, I see what went wrong here. It was trying to pass on handling<br>
hasheq in a certain place, but ended up treating it as a hash. I'll<br>
push a repair in a moment.<br>
<br>
This is yet another case where I wish there was a `hash-equal?` predicate.<br>
<br>
Sam<br>
<div><div class="h5"><br>
On Mon, Jul 8, 2013 at 2:26 PM, Abraham Egnor <<a href="mailto:abe.egnor@gmail.com">abe.egnor@gmail.com</a>> wrote:<br>
> Apologies if this isn't the right forum, I couldn't find bug-reporting<br>
> information via the typed racket documentation.<br>
><br>
> It seems that typed racket doesn't play well with hasheq in certain<br>
> circumstances. A minimal repro case:<br>
><br>
> File "bug.rkt":<br>
> #lang typed/racket<br>
> (provide (struct-out container))<br>
> (struct: container ([value : Any]))<br>
><br>
> REPL:<br>
> -> (require "bug.rkt")<br>
> -> (container-value (container (hasheq 'foo "foo")))<br>
> ; prop:chaperone-contract: expected a chaperone of '#hasheq((foo . "foo")),<br>
> got<br>
> ; '#hash((foo . "foo")) [,bt for context]<br>
><br>
><br>
</div></div>> ____________________<br>
> Racket Users list:<br>
> <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
><br>
____________________<br>
Racket Users list:<br>
<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
</blockquote></div><br></div></div></div>