Next: Primitive expression syntax, Previous: Datum syntax, Up: Syntax [Contents][Index]
A number of different special forms are indicated by an
initial hash (number) symbols (#
).
Here is a table summarizing them.
Case is ignored for the character followed the #
.
Thus #x
and #X
are the same.
#:
keywordGuile-style keyword syntax.
#\
#!
#‘
datumEquivalent to (quasisyntax datum)
.
Convenience syntax for syntax-case macros.
#’
datumEquivalent to (syntax datum)
.
Convenience syntax for syntax-case macros.
#,
datumEquivalent to (unsyntax datum)
.
Currently only recognized when inside a #`template
form.
Convenience syntax for syntax-case macros.
#,(
name datum ...)
Special named constructors.
This syntax is deprecated, because it conflicts with unsyntax
.
It is only recognized when not in a #`template
form.
#,@
datumEquivalent to (unsyntax-splicing datum)
.
#(
A vector.
#|
Start of nested-comment.
#/
regex/
See Regular expressions.
#<
See XML literals.
#;
datumA datum comment - the datum is ignored. (An interlexeme-space may appear before the datum.)
#
number=
datumA reference definition, allowing cyclic and shared structure.
Equivalent to the datum, but also defines an association between
the integer number and that datum, which can be
used by a subsequent #number#
form.
#
number#
A back-reference, allowing cyclic and shared structure.
#
Ra
datumAn array literal, for a multi-dimensional array of rank R.
#b
A binary (base-2) number.
#d
A decimal (base-10) number.
#e
A prefix to treat the following number as exact.
#f
#false
The standard boolean false object.
#f
n(
number ...)
A uniform vector of floating-point numbers. The parameter n is a precision, which can be 32 or 64. See Uniform vectors.
#i
A prefix to treat the following number as inexact.
#o
An octal (base-8) number.
#
baser
A number in the specified base (radix).
#s
n(
number ...)
A uniform vector of signed integers. The parameter n is a precision, which can be 8, 16, 32, or 64. See Uniform vectors.
#t
#true
The standard boolean true object.
#u
n(
number ...)
A uniform vector of unsigned integers. The parameter n is a precision, which can be 8, 16, 32, or 64. See Uniform vectors.
#x
A hexadecimal (base-16) number.
The follow named constructor forms are supported:
#,(path
path)
#,(filepath
path)
#,(URI
path)
#,(symbol
local-name [uri [prefix]])
#,(symbol
local-name namespace)
#,(namespace
uri [prefix])
#,(duration
duration)
Next: Primitive expression syntax, Previous: Datum syntax, Up: Syntax [Contents][Index]