racket/collects/net/scribblings
Robby Findler 86572cc8c3 adjust the contract on string->url so that it actually catches all of
the errors that would be signalled by the body. also, remove
url-regexp from the exports (it was only recently added)

I believe this eliminates two of Eli's concerns:

  - the contract is no longer so painful to read

  - the performance is more reasonable.

Specifically, for the performance, here are the times I see to call
string->url on "http://www.racket-lang.org":

no contract: any/c
cpu time: 564 real time: 566 gc time: 3

weak contract: (-> (or/c string? bytes?) url?)
cpu time: 590 real time: 590 gc time: 3

strong, regexp-based contract:
(-> (or/c (not/c #rx"^([^:/?#]*):") #rx"^[a-zA-Z][a-zA-Z0-9+.-]*:") url?)
cpu time: 632 real time: 633 gc time: 5

This appears to be about a 10% slowdown for the regexp-based contract
over the weaker contract.

related to PR 12652
2012-03-29 19:31:32 -05:00
..
base64.scrbl add optional newline argument to `base64-encode' 2012-02-21 06:14:44 -07:00
cgi.scrbl Remove no-longer used net/cgi exceptions. 2012-03-16 02:55:35 -04:00
common.rkt Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files. 2011-06-20 04:27:14 -04:00
cookie.scrbl Lots of documentation formatting. 2011-08-15 07:50:04 -04:00
dns.scrbl Moved `net/dns' code from unit to module. 2011-09-05 15:22:38 -04:00
ftp.scrbl Moved `net/ftp' code from unit to module. 2011-09-05 15:22:38 -04:00
head.scrbl Moved `net/head' code from unit to module. 2011-09-05 15:22:38 -04:00
imap.scrbl net/imap: add TLS support 2012-03-10 10:47:22 -07:00
info.rkt rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
mime.scrbl net/mime: allow any subtype, exns as exn:fail subtypes; doc fixes 2012-01-08 12:14:51 -07:00
net.scrbl docs reorganization 2011-07-01 17:16:53 -06:00
nntp.scrbl Moved `net/nntp' code from unit to module. 2011-09-05 15:22:38 -04:00
pop3.scrbl Moved `net/pop3' code from unit to module. 2011-09-05 15:22:38 -04:00
qp.scrbl Moved `net/qp' code from unit to module. 2011-09-05 15:22:38 -04:00
sendmail.scrbl Quote sender, subject, and recipients strings if needed. 2011-12-20 16:13:13 -05:00
sendurl.scrbl A ton of @scheme*' -> @racket*' and related updates. 2011-06-25 04:08:47 -04:00
smtp.scrbl Moved `net/smtp' code from unit to module. 2011-09-05 15:22:39 -04:00
ssl-tcp-unit.scrbl A ton of @scheme*' -> @racket*' and related updates. 2011-06-25 04:08:47 -04:00
tcp-redirect.scrbl A ton of @scheme*' -> @racket*' and related updates. 2011-06-25 04:08:47 -04:00
tcp.scrbl A ton of @scheme*' -> @racket*' and related updates. 2011-06-25 04:08:47 -04:00
uri-codec.scrbl Add missing word 'one', clarify behavior of the 'semi-or-amp mode. 2011-10-17 13:18:17 -04:00
url.scrbl adjust the contract on string->url so that it actually catches all of 2012-03-29 19:31:32 -05:00
websocket.scrbl Synchronizable events from Tom McNulty 2011-12-26 14:33:07 -07:00