I think this is saying that the result is going to be negative. (But
it won't, since it doesn't terminate.)
On Thu, Jan 15, 2015 at 1:13 PM, Asumu Takikawa <as...@ccs.neu.edu> wrote:
> On 2015-01-14 19:11:59 -0500, David Van Horn wrote:
>> If you have questions, comments, bugs, or any other feedback, let us
>> know, or just file bug reports on the GitHub source code.
> Nice tool! I like the web interface too.
> I was confused by this interaction though. Clicking verify on this:
> (module fact racket
> (define (factorial x)
> (if (zero? x)
> (* x (factorial (sub1 x)))))
> (provide (contract-out [factorial (-> (>=/c 0) (>=/c 0))])))
> gives me:
> Contract violation: 'fact' violates '>='.
> violates predicate
> An example module that breaks it:
> (module user racket (require (submod ".." fact)) (factorial 0.105))
> (Verification takes 0.05s)
> but the value 0.105 shouldn't violate the predicate real? I think.
> Racket Developers list:
Racket Developers list: