Document types exported by wrapper libs.

This includes types for all wrapper libs that define types, except for
typed/pict, typed/racket/*, and typed/syntax/stx.
This commit is contained in:
Jordan Johnson 2015-06-28 16:18:58 -07:00
parent ea9467c826
commit 46836184f2

View File

@ -4,14 +4,21 @@
(require (for-label (only-meta-in 0 [except-in typed/racket for])
(only-in racket/base for)
racket/list srfi/14 net/url
version/check))]
version/check
;; Specific libraries wrapped for TR:
file/gif
net/http-client
net/url-structs
net/url
openssl
json))]
@title{Libraries Provided With Typed Racket}
The @racketmodname[typed/racket] language corresponds to the
@racketmodname[racket] language---that is, any identifier provided
by @racketmodname[racket], such as @racket[modulo] is available by default in
by @racketmodname[racket], such as @racket[modulo], is available by default in
@racketmodname[typed/racket].
@racketmod[typed/racket
@ -47,22 +54,60 @@ The following libraries are included with Typed Racket in the
@(define-syntax-rule @defmodule/incl[name]
@defmodule[name #:no-declare])
@(define-syntax-rule (deftype name . parts)
(defidform #:kind "type" name . parts))
@;; framework and mred left out until support for classes
@;; is more complete
@defmodule/incl[typed/file/gif]
@deftype[GIF-Stream]{
Describe a GIF stream, as produced by @racket[gif-start]
and accepted by the other functions from @racketmodname[file/gif].
}
@deftype[GIF-Colormap]{
Type alias for a list of three-element (R,G,B) vectors representing an image.
}
@defmodule/incl[typed/file/md5]
@defmodule/incl[typed/file/tar]
@defmodule/incl[typed/framework]
@defmodule/incl[typed/json]
@deftype[JSExpr]{
Describes a @tech["jsexpr" #:doc '(lib "json/json.scrbl")].
}
@defmodule/incl[typed/mred/mred]
@defmodule/incl[typed/net/base64]
@defmodule/incl[typed/net/cgi]
@defmodule/incl[typed/net/cookie]
@deftype[Cookie]{
Describes an HTTP cookie as implemented by @racketmodname[net/cookie].
}
@defmodule/incl[typed/net/dns]
@defmodule/incl[typed/net/ftp]
@deftype[FTP-Connection]{
Describes an open FTP connection.
}
@defmodule/incl[typed/net/gifwrite]
@defmodule/incl[typed/net/git-checkout]
@defmodule/incl[typed/net/head]
@defmodule/incl[typed/net/http-client]
@deftype[HTTP-Connection]{
Describes an HTTP connection, corresponding to @racket[http-conn?].
}
@defmodule/incl[typed/net/imap]
@deftype[IMAP-Connection]{
Describes an IMAP connection.
}
@defmodule/incl[typed/net/mime]
@defmodule/incl[typed/net/nntp]
@defmodule/incl[typed/net/pop3]
@ -73,10 +118,56 @@ The following libraries are included with Typed Racket in the
@defmodule/incl[typed/net/uri-codec]
@defmodule/incl[typed/net/url-connect]
@defmodule/incl[typed/net/url-structs]
@deftype[Path/Param]{
Describes the @racket[path/param] struct from @racketmodname[net/url-structs].
}
@deftype[URL]{
Describes an @racket[url] struct from @racketmodname[net/url-structs].
}
@defmodule/incl[typed/net/url]
In addition to defining the following types, this module also provides the
@racket[HTTP-Connection] type defined by @racketmodname[typed/net/http-client],
and the @racket[URL] and @racket[Path/Param] types from
@racketmodname[typed/net/url-structs].
@deftype[URL-Exception]{
Describes exceptions raised by URL-related functions; corresponds
to @racket[url-exception?].
}
@deftype[PortT]{
Describes the functions @racket[head-pure-port], @racket[delete-pure-port],
@racket[get-impure-port], @racket[head-impure-port], and
@racket[delete-impure-port].
}
@deftype[PortT/Bytes]{
Like @racket[PortT], but describes the functions that make POST and PUT
requests, which require an additional byte-string argument for POST or PUT
data.
}
@defmodule/incl[typed/openssl]
@deftype[SSL-Protocol]{
Describes an SSL protocol, defined as
@racket[(U 'auto 'sslv2-or-v3 'sslv2 'sslv3 'tls 'tls11 'tls12)].
}
@deftogether[(@deftype[SSL-Server-Context]
@deftype[SSL-Client-Context])]{
Describes an OpenSSL server or client context.
}
@deftype[SSL-Context]{Supertype of OpenSSL server and client contexts.}
@deftype[SSL-Listener]{
Describes an SSL listener, as produced by @racket[ssl-listen].
}
@deftype[SSL-Verify-Source]{
Describes a verification source usable by @racket[ssl-load-verify-source!]
and the @racket[ssl-default-verify-sources] parameter.
}
@defmodule/incl[typed/openssl/md5]
@defmodule/incl[typed/openssl/sha1]
@defmodule/incl[typed/openssl]
@defmodule/incl[typed/pict]
@defmodule[typed/racket/async-channel #:no-declare @history[#:added "1.1"]]
@defmodule/incl[typed/racket/date]
@ -90,7 +181,21 @@ The following libraries are included with Typed Racket in the
@defmodule/incl[typed/rackunit/text-ui]
@defmodule/incl[typed/rackunit]
@defmodule/incl[typed/srfi/14]
@deftype[Char-Set]{
Describes a character set usable by the @racketmodname[srfi/14] functions.
}
@deftype[Cursor]{
Describes a cursor for iterating over character sets.
}
@defmodule/incl[typed/srfi/19]
@deftogether[(@defidform[#:kind "type" Time]
@defidform[#:kind "type" Date])]{
Describes an SRFI 19 time or date structure.
}
@defmodule/incl[typed/syntax/stx]
@defmodule/incl[typed/web-server/configuration/responders]
@defmodule/incl[typed/web-server/http]