I've come across this before and I have mentioned this topic in IRC if not this list. There are a few macros in the rackunit that cannot and do not work well with typed/racket. The macros would have to be rewritten before they could play nice and as far as I know those aren't a priority.
--
You received this message because you are subscribed to the Google Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to racket-users...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
wait, who needs tests when you have static typing?! sheesh!!!!
Yes, there is a larger issue here. In general, the typed/untyped boundary may change the eq? behavior. Some types won't (opaque types from the untyped side, monomorphic struct types from the typed side) but in general you won't get stable eq? results.
Sam
Unfortunately, that's only true when eq? produces #t, which probably isn't an issue when using eq? directly, but can be when using memq or similar. This benchmark suggests about a 10x speed difference when the symbols are different: http://pasterack.org/pastes/94877
Sam
I don't know if it's really fixable -- equal? has to check that both arguments are symbols before producing #f, which is work that eq? doesn't do. Perhaps the difference can be reduced, though.
Sam
Sounds like something I would try to fix if I had time to really focus
on the eq? semantic question :(