Certainly the dependent contract approach will work, but the 'Real -> Real' contract is also safe, so I'll see about generating that.
Sam On Jun 26, 2012 8:37 PM, "Robby Findler" <ro...@eecs.northwestern.edu> wrote: > In this case, the contract could turn into a dependent one with the > same semantics. Does it make sense for TR to allow a user to declare > the equivalent contract? > > Robby > > On Tue, Jun 26, 2012 at 7:17 PM, Neil Toronto <neil.toro...@gmail.com> > wrote: > > Ten minutes in, I've hit a snag. I'd like the stuff in math/functions to > > have precise types. For example, log1p could have the type > > > > (case-> (Zero -> Zero) > > (Float -> Float) > > (Real -> Real)) > > > > It was easy to get the implementation to typecheck, but when I tried to > plot > > it in untyped Racket, I got this: > > > > Type Checker: The type of log1p cannot be converted to a contract in: > log1p > > > > I really don't want to have two versions of the library. Could TR use the > > most general type (Real -> Real) as the contract? Or would that be > unsound? > > > > Neil ⊥ > > _________________________ > > Racket Developers list: > > http://lists.racket-lang.org/dev > > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev >
_________________________ Racket Developers list: http://lists.racket-lang.org/dev