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

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Jun 26 20:37:30 EDT 2012

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


Posted on the dev mailing list.