Open samth opened 4 years ago
It looks like there's more room for Racket and Racket CS to match. For example, I see no reason that they have to differ for (/ 0.0+0.0i)
.
Two changes can bring all but one result in line for Racket and Racket CS:
After fixing those, the one difference that remains involves sin
. Probably cos
and tan
would also differ. Probably it would be ideal for Racket to use the same algorithm as Chez Scheme for those functions, but maybe those functions are a good place to go with option 3 (if that's possible per-function).
Currently, Typed Racket's optimizer changes some expressions to behave differently on RacketCS. In particular, these are expressions where Racket and RacketCS differ, and the optimizer causes TR to follow Racket, meaning that it changes behavior between typed and untyped.
There are a few possible solutions here:
I know @stamourv thinks 3 is the right answer. @mflatt is (1) likely? Does anyone else have an opinion on this?