#lang scribble/doc @(require "mz.rkt") @title[#:style 'toc #:tag "data"]{Datatypes} @guideintro["datatypes"]{Datatypes} Each pre-defined datatype comes with a set of procedures for manipulating instances of the datatype. @local-table-of-contents[#:style 'immediate-only] @; ------------------------------------------------------------ @include-section["booleans.scrbl"] @; ------------------------------------------------------------ @include-section["numbers.scrbl"] @; ------------------------------------------------------------ @include-section["strings.scrbl"] @; ------------------------------------------------------------ @include-section["bytes.scrbl"] @; ------------------------------------------------------------ @include-section["chars.scrbl"] @; ------------------------------------------------------------ @include-section["symbols.scrbl"] @; ------------------------------------------------------------ @include-section["regexps.scrbl"] @; ------------------------------------------------------------ @section[#:tag "keywords"]{Keywords} @guideintro["keywords"]{keywords} A @deftech{keyword} is like an @tech{interned} symbol, but its printed form starts with @litchar{#:}, and a keyword cannot be used as an identifier. Furthermore, a keyword by itself is not a valid expression, though a keyword can be @racket[quote]d to form an expression that produces the symbol. Two keywords are @racket[eq?] if and only if they print the same (i.e., keywords are always @tech{interned}). Like symbols, keywords are only weakly held by the internal keyword table; see @secref["symbols"] for more information. @see-read-print["keyword"]{keywords} @defproc[(keyword? [v any/c]) boolean?]{ Returns @racket[#t] if @racket[v] is a keyword, @racket[#f] otherwise.} @defproc[(keyword->string [keyword keyword?]) string?]{ Returns a string for the @racket[display]ed form of @racket[keyword], not including the leading @litchar{#:}.} @defproc[(string->keyword [str string?]) keyword?]{ Returns a keyword whose @racket[display]ed form is the same as that of @racket[str], but with a leading @litchar{#:}.} @defproc[(keywordstring] and @racket[string