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
cgi.scrbl Remove no-longer used net/cgi exceptions. 2012-03-16 02:55:35 -04:00
common.rkt
cookie.scrbl
dns.scrbl
ftp.scrbl
head.scrbl
imap.scrbl net/imap: add TLS support 2012-03-10 10:47:22 -07:00
info.rkt
mime.scrbl
net.scrbl
nntp.scrbl
pop3.scrbl
qp.scrbl
sendmail.scrbl
sendurl.scrbl
smtp.scrbl
ssl-tcp-unit.scrbl
tcp-redirect.scrbl
tcp.scrbl
uri-codec.scrbl
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