[racket] Making a contract between a function and "the world in general" AGAIN

From: Harry Spier (vasishtha.spier at gmail.com)
Date: Sat Nov 24 21:13:20 EST 2012

About a year ago, there was a discussion on the list about "provide"
propagating existing contracts.
(See: http://www.mail-archive.com/[email protected]/msg08623.html )
suggested by Neil Toronto for this reason:

"...define/contract has a huge advantage that contract-out doesn't have: it
puts all the invariants at the function definition, right before the code
that relies on them. "

and with this suggested form:
----------
  (provide (contract-out real-id))
  ; ... more code ...
(define/contract (real-id x) (real? . -> . real?)
x)

Or (provide (lift-contract real-id)) might be even better.
------------

AFAICT the discussion seemed somewhat favorable to this.  What is the
status of this?  Are there any plans to implement this (or something like
this)?

Thanks,
Harry Spier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20121124/7cc04fa0/attachment.html>

Posted on the users mailing list.