On Mon, Oct 1, 2012 at 9:44 PM, Neil Toronto <neil.toro...@gmail.com> wrote: > The only bit that bothers me is the (begin (not (flonum-wrapper? x)) ...) > stuff left lying around after TR's optimizer eliminates the branches in the > expansions of `fw+'. IIRC, they cause futures to sync, but I'm going to > believe that they won't always - or will be optimized away - just so I can > have a decent solution to the typed macro problem.
This code is left around because TR can't prove that `not` and `flonum-wrapper?` are pure functions. Eventually, TR should include a purity analysis that can fix this, but it can't do that now. The fact that basically all structure operations are future-unsafe is a bigger issue. I talked to James about it at ICFP, but I don't know what would be required to improve the situation. -- sam th sa...@ccs.neu.edu _________________________ Racket Developers list: http://lists.racket-lang.org/dev