![]() 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 |
||
---|---|---|
.. | ||
private | ||
scribblings | ||
websocket | ||
base64-sig.rkt | ||
base64-unit.rkt | ||
base64.rkt | ||
cgi-sig.rkt | ||
cgi-unit.rkt | ||
cgi.rkt | ||
cookie-sig.rkt | ||
cookie-unit.rkt | ||
cookie.rkt | ||
dns-sig.rkt | ||
dns-unit.rkt | ||
dns.rkt | ||
ftp-sig.rkt | ||
ftp-unit.rkt | ||
ftp.rkt | ||
gifwrite.rkt | ||
head-sig.rkt | ||
head-unit.rkt | ||
head.rkt | ||
imap-sig.rkt | ||
imap-unit.rkt | ||
imap.rkt | ||
mime-sig.rkt | ||
mime-unit.rkt | ||
mime-util.rkt | ||
mime.rkt | ||
nntp-sig.rkt | ||
nntp-unit.rkt | ||
nntp.rkt | ||
pop3-sig.rkt | ||
pop3-unit.rkt | ||
pop3.rkt | ||
qp-sig.rkt | ||
qp-unit.rkt | ||
qp.rkt | ||
sendmail-sig.rkt | ||
sendmail-unit.rkt | ||
sendmail.rkt | ||
sendurl.rkt | ||
smtp-sig.rkt | ||
smtp-unit.rkt | ||
smtp.rkt | ||
ssl-tcp-unit.rkt | ||
tcp-redirect.rkt | ||
tcp-sig.rkt | ||
tcp-unit.rkt | ||
unihead.rkt | ||
uri-codec-sig.rkt | ||
uri-codec-unit.rkt | ||
uri-codec.rkt | ||
url-connect.rkt | ||
url-sig.rkt | ||
url-structs.rkt | ||
url-unit.rkt | ||
url.rkt | ||
websocket.rkt |