[racket-dev] math collection [was: Hyperbolic functions]

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Tue Jun 26 21:32:53 EDT 2012

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" <robby at 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.toronto at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20120626/82872f6e/attachment-0001.html>

Posted on the dev mailing list.