Because the point of types is to have something proven.
On Jun 26, 2012, at 9:29 PM, Robby Findler wrote: > This sounds like a terrible solution. > > There are lots of places in our system where we just declare facts and > don't prove them and then use them for lots of things (often > optimizations). Why should this one be special? > > Robby > > On Tue, Jun 26, 2012 at 8:16 PM, Matthias Felleisen > <matth...@ccs.neu.edu> wrote: >> >> On Jun 26, 2012, at 9:12 PM, Neil Toronto wrote: >> >>> I'm addicted to optimizations. If I use Real -> Real, TR can't prove that >>> (log1p 1.0) is Float and... hmm. I'll let Vincent explain why that's bad. :) >>> >>> Another option is to provide both log1p and fllog1p. I just wrote fllog1p >>> anyway. >> >> >> Sounds like the right solution -- and now you see how every type system >> forces you to duplicate code. -- Matthias >> _________________________ Racket Developers list: http://lists.racket-lang.org/dev