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.
#:keyword
Guile-style keyword syntax.
#\
#!
#‘datum
Equivalent to (quasisyntax .
Convenience syntax for syntax-case macros.
datum)
#’datum
Equivalent to (syntax .
Convenience syntax for syntax-case macros.
datum)
#,datum
Equivalent to (unsyntax .
Currently only recognized when inside a datum)#` form.
Convenience syntax for syntax-case macros.
template
#,(name datum ...)
Special named constructors.
This syntax is deprecated, because it conflicts with unsyntax.
It is only recognized when not in a #` form.
template
#,@datum
Equivalent to (unsyntax-splicing .
datum)
#(
A vector.
#|
Start of nested-comment.
#/regex/
See Regular expressions.
#<
See XML literals.
#;datum
A datum comment - the datum is ignored.
(An interlexeme-space may appear before the datum.)
#number=datum
A 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 # form.
number#
#number#
A back-reference, allowing cyclic and shared structure.
#Radatum
An 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.
#fn(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).
#sn(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.
#un(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)