Index
Index
Symbols
*
-
/
!
, function name convention#()
, the empty list#(
…)
, list literal syntax#[
…]
, vector literal syntax#"
…"
, unique string literal syntax#all-keys
[1]#f
[1] [2] [3]#key
[1] [2]#next
#rest
[1] [2]#t
[1] [2] [3]#-words
$
, constant name convention$permanent-hash-state
%
, used in format directives&
, logical 'and' [1] [2]+
//
, single-line comment syntax.
, slot reference syntax [1] [2]*
, variable name convention:
, in keyword syntax:=
[1] [2]<
<=
<
…>
, type name convention<abort>
<array>
[1] [2]<boolean>
[1] [2]<byte-string>
<character>
<class>
<collection>
[1] [2]<complex>
<condition>
[1] [2]<deque>
<double-float>
<empty-list>
<error>
<explicit-key-collection>
[1] [2]<extended-float>
<float>
<function>
[1] [2]<generic-function>
[1] [2]<integer>
<list>
<method>
[1] [2]<mutable-collection>
[1] [2] [3]<mutable-explicit-key-collection>
<mutable-sequence>
<number>
<object-table>
<object>
<pair>
<range>
<rational>
<real>
<restart>
[1] [2]<sealed-object-error>
<sequence>
[1] [2]<serious-condition>
<simple-error>
<simple-object-vector>
<simple-restart>
<simple-vector>
<simple-warning>
<single-float>
<singleton>
[1] [2]<stretchy-collection>
[1] [2]<stretchy-vector>
<string>
<symbol>
<table>
[1] [2]<type-error>
<type>
<unicode-string>
<vector>
<warning>
=
==
>
>=
?
??
[
…]
, element reference syntax [1] [2]- in macro calls [1] [2]
- order of execution of
\
, escape character [1] [2] [3] [4]^
|
, logical 'or' [1] [2]~
, logical negation [1] [2]~=
~==
'
…'
, character literal syntax/*
…*/
, delimited comment syntax"
…"
, string literal syntax
A
<abort>
abort
- aborting code
abs
- abstract classes [1] [2]
- accept a variable number of arguments
- accept all keyword arguments
- accept keyword arguments
- accessible bindings in a module [1] [2]
- accessing slots
- accessor name convention
add
add!
add-method
add-new
add-new!
- adding keys to a collection
- adjectives
- alignment, of collections during iteration [1]
all-superclasses
- allocation
- alphabetic characters
always
- ambiguous methods [1] [2]
- and, logical operator
- angle bracket,
<
…>
, type name convention any?
- applicable handler, locating
- applicable methods
applicable-method?
apply
[1] [2]aref
aref-setter
- argument lists
- See parameter lists
- argument order
- arguments
- arithmetic operations [1]
<array>
[1] [2]- array reference syntax
as
as-lowercase
as-lowercase!
as-uppercase
as-uppercase!
ash
- assignment [1] [2]
- assignment operator
- asterisk, variable name convention
author:
, interchange format keyword- auxiliary rule sets [1]
B
- backslash escape sequence [1] [2]
backward-iteration-protocol
[1] [2]- bare methods [1]
- See also local methods
- base types [1]
begin
begin
…end
bracketing in macros- binary operator call
- binding-patterns, matching of
- bindings
- bitwise operations [1]
- blank lines, in interchange format
- blending of tokens [1] [2] [3]
block
[1] [2] [3] [4]- body
<boolean>
- boolean values
- as literal constants
- See also true and false
- bracketed fragments
- bracketed-patterns, matching of
break
- built-in definition macros
- built-in macros
- sample definitions of [1]
- built-in modules
- built-in statement macros
<byte-string>
C
- calling exception systems
case
- catch
ceiling
ceiling/
cerror
- changing
<character>
- characters
- as literal constants [1] [2]
- in the lexical syntax [1]
- literal constant BNF
- operations on [1]
check-type
choose
choose-by
- circular references
- See infinite recursion
- circularity
<class>
- class allocated slots, initialization of [1]
- class precedence lists
- computation of [1]
- definition of
- class slot allocation [1] [2]
- classes [1]
- abstract or concrete
- as a kind of type
- built-in [1]
- characteristics of [1]
- created by
define class
- disjointness rule for
- explicitly known
- features of [1]
- inheritance of [1]
- overview of
- primary or free
- restrictions on built-in
- sealed or open
- sealing [1]
- cleanup clauses [1] [2]
- closed over bindings
- closures [1]
- code body, in interchange format
- coercing objects [1]
<collection>
[1] [2]- collections [1]
- adding and removing elements [1] [2]
- alignment of [1]
- allocation of [1]
- alteration of [1]
- copying
- defining new classes of [1]
- destructive operations on
- element types of [1]
- freshness of
- instability under iteration
- iteration protocol of [1] [2]
- key tests of
- keys of [1] [2]
- limited [1]
- mapping and reducing [1]
- modifying during iteration
- mutability of [1] [2]
- natural order of iteration
- operations on [1]
- properties of [1]
- removing elements from [1] [2]
- reordering [1]
- searching [1] [2] [3] [4] [5] [6]
- selecting elements of [1]
- sorting
- stability under iteration
- testing [1] [2] [3] [4]
- that may grow and shrink
- user-defined
- comments [1]
- comparison operations [1]
- compilation, and macros [1]
complement
<complex>
compose
- computational equivalence
concatenate
concatenate-as
- concrete classes [1] [2]
<condition>
[1] [2]- condition messages [1]
- condition system
condition-format-arguments
condition-format-string
- conditional execution
- statements implementing [1]
- conditions [1]
- congruency
conjoin
- consistency among class precedence lists
- constant bindings [1] [2]
- constant slots [1] [2]
- constants
- name convention of
- See also literal constants
- constituents
- control characters
- controlling access to bindings and objects
- conventions for binding names
copy-sequence
- copying objects [1]
copyright:
, interchange format keywordcreate
clause of a module definition- creating
- classes [1]
- instances [1] [2]
- limited collections
- limited types
- See also initialization protocol
curry
D
- data structures, collections as
- deallocating objects
- debuggers
- declaring
- characteristics of classes [1]
- characteristics of generic functions [1]
- ownership of module variables
- sealing information [1]
- types of slots
- declining to handle a condition
- default values
default-handler
[1] [2]- defaulted initialization arguments
define
as a reserved worddefine class
[1] [2]define constant
define domain
define generic
define library
define macro
define method
define module
define sealed domain
[1] [2]define sealed method
define variable
-definer
suffix- defining
- classes [1]
- generic functions
- libraries
- modules
- definition macros [1]
- definitions
- BNF of
- built-in [1]
- processing of
- said not to execute
- special rules for pattern matching of [1]
- top-level
- used to create module bindings
- delimited comments
<deque>
- destructive operations
- naming convention for
- on collections [1] [2]
dimension
dimensions
- direct instance relationship
- direct subclass relationship
- direct superclass relationship
direct-subclasses
direct-superclasses
disjoin
- disjointness of types [1]
- division by zero
- division of integers [1] [2]
do
do-handlers
[1] [2]- dollar-sign, constant name convention
<double-float>
- duplicate keywords
- Dylan interchange format
dylan
librarydylan
moduledylan
module and operator names- Dylan programming language [1]
dylan-user
module- dynamic condition handlers
E
each-subclass
slot allocation- efficiency
- of simple-vectors
- See also sealing
element
[1] [2] [3]- element reference syntax [1] [2]
- in macro calls [1] [2]
- order of execution of
- element types of collections [1]
- and subclassing [1]
- and user-defined collections
element-setter
[1] [2] [3]- elements of collections
<empty-list>
empty?
end
as a reserved word- equality
- equality testing operations [1]
- equivalence classes
- equivalence predicates
- equivalent types
<error>
error
- errors, as a kind of condition
- escape characters
- escape sequence
- escaping names
even?
every?
- exception clause of the
block
statement - exception system
- exceptions [1]
- background [1]
- which are not errors
- exclamation point, name convention
- execution of expressions
- exiting exception system
- exits [1] [2]
- explicit definitions
- explicit key collections
<explicit-key-collection>
[1] [2]- explicitly known objects [1]
- exponentiation
- export information of a library
- exporting
- bindings [1] [2]
- modules
- reserved words
- expressions
<extended-float>
- extensible grammar [1]
F
- false and true
- false object,
#f
- 'field,' as a synonym for 'slot'
- file header, in interchange format
fill!
- filtering slot values
find-key
find-method
first
- first class
first-setter
<float>
- floating point numbers, combined with nonfloats
floor
floor/
- flow of control, nonstandard
- See also exits, nonlocal exits
for
- formal recovery
- format arguments
- format directives
- format strings
- forward references
forward-iteration-protocol
[1] [2]- fragments
- free classes [1] [2]
- freshly allocated collections
<function>
[1] [2]- function calls [1] [2]
- and method dispatch [1]
- order of execution of
- shorthand for
- function macros [1] [2]
function-arguments
function-return-values
function-specializers
- functions [1]
G
- garbage collection
gcd
- general subclass relationship
- general superclass relationship
- generic functions [1] [2]
- calling
- characteristics of [1]
- created by
define generic
- created implicitly with
define method
- defining
- explicitly known
- parameter lists of [1] [2]
- sealed or open
- sealing [1]
- specializing
- with no required parameters
<generic-function>
[1] [2]generic-function-mandatory-keywords
generic-function-methods
- getter methods
- getter name convention
- getters
- goals of the language
- grammar
- and macros
- extensibility of [1]
- LALR(1)
- graphic characters
- greater than comparitor
- greater than or equal to comparitor
H
handler
as a reserved word- handlers [1] [2]
- established by let handler
- for restarts [1] [2]
- handling
- hash codes
- hash functions
- hash ids
- hash states [1] [2]
- hash tables
- See tables
head
head-setter
- header files
- heads of lists
- hygiene in macros [1]
I
identity
- IEEE floating point numbers [1]
if
- immutability
- implicit
- definitions
- generic function parameter lists [1]
- generic functions
- importing
- improper lists
- incremental compilation
- indefinite element types
- indirect subclass relationship
- inequality
- infinite recursion
- See circular references
- inheritance [1]
- inherited slot specifications [1]
- init expressions of slots
- init functions of slots
- init specifications
- of class allocated slots
- of slots [1] [2]
- overriding in subclasses [1]
- used to initialize constant slots
- init values of slots
- init-keywords
- declaring required
- of slots [1] [2]
- providing default values for [1]
- restricting the types of [1]
- used to initialize constant slots
- initial value of a slot
- initialization arguments
- inheritance of [1]
- specification of [1]
- validity of
- initialization of instances [1] [2]
- initialization protocol [1] [2] [3]
initialize
- used in the initialization protocol
- used to initialize virtual slots
- additional behavior of [1]
- initializing instances
- See initialization protocol
- inside stack
- instability under iteration
- instance creation
- See initialization protocol
- instance slot allocation [1] [2]
- 'instance variable,' as a synonym for 'slot'
instance?
- in the type protocol
- of limited collection types [1]
- of union types
- instantiable classes
- instantiation, as part of the type protocol
<integer>
- integers
- division of [1] [2]
- precision of
integral?
- interchange format
- intermediate words in macros [1]
intersection
- introspection
- iteration [1]
- collection alignment during [1]
- natural order of
- stability of
- statements supporting [1]
- using mapping functions
- using recursion
- iteration protocol [1] [2] [3]
J
K
- key tests of collections
key-sequence
key-test
[1] [2] [3]- keys of collections [1] [2]
- keyword
- keyword arguments
- required format of
- See also duplicated keywords, keyword parameters
- keyword initializable
- keyword parameters [1] [2] [3]
- keywords
L
- LALR(1) grammar
language:
, interchange format keywordlast
last-setter
lcm
- left-associativity of most operators
- less than comparitor
- less than or equal to comparitor
let
let handler
[1] [2]- lexical notes
- lexical syntax [1]
- BNF of [1]
- liberality [1] [2] [3] [4]
- libraries [1]
- library export information
limited
[1] [2]- limited collections [1] [2]
- limited integer types [1]
- limited types [1]
<list>
list
- list literal constants [1] [2] [3]
- lists [1]
- constructors for [1] [2]
- empty list
- literal constants [1]
local
[1] [2]- local bindings [1] [2]
- local declarations
- as macro calls
- BNF of
- built-in [1]
- parsing of
- local methods [1] [2]
- local precedence order of superclasses
logand
logbit?
- logical negation [1] [2]
- logical 'and'
- logical 'or'
logior
lognot
logxor
- looping
- See iteration
M
- macro system [1]
macro
as a reserved word- macro definitions
- macros
- and local bindings
- and module encapsulation [1]
- and the creation of reserved words
- arguments to
- as extensions to the core language
- assignment operator in
- auxiliary rule sets in [1]
begin
…end
bracketing in- binding-pattern matching in
- bracketed-pattern matching in
- calls to
- captured bindings in
- created by
define macro
- definition macros [1]
- definitions of
- element reference syntax in
- examples of [1]
- expansion of [1] [2]
- exporting
- function macros [1]
- hygiene in [1]
- importing
- intentional hygiene violation in [1]
- intermediate words in [1]
- kinds of
- named value references in
- named value references to
- names of [1]
- parsed expression fragments in
- parsing and
- pattern variable constraints in [1]
- pattern variable matching in
- pattern-list matching in
- pattern-sequence matching in
- patterns in [1]
- processing of [1]
- property-list-pattern matching in
- reparsing of
- simple-pattern matching in
- special rules for definitions [1]
- special rules for function macros [1]
- special rules for statements [1]
- statement macros [1]
- templates in [1]
- temporary variables in
- that contain macros
make
- in the initialization protocol
- in the type protocol
- used to create classes [1] [2]
- used to create generic functions [1] [2]
- additional behavior of [1]
- mandatory keywords
map
map-as
map-into
max
member?
merge-hash-codes
<method>
[1] [2]method
- sample definition of
- used to create bare methods [1] [2]
- method dispatch [1] [2]
- methods [1] [2]
- ambiguous [1] [2]
- applicable to a function call
- bare [1]
- BNF of
- built-in, manual notation of
- created by
define method
- created by
local
- explicitly known
- in generic functions [1]
- parameter lists of
- restrictions on defining
- sealed, manual notation of
- selecting [1]
- specializing
- specificity of [1]
- middle stack
min
- module bindings
module:
, interchange format keyword- modules [1]
modulo
- multiple inheritance
- and primary classes
- and slot inheritance [1] [2]
- multiple values [1] [2] [3]
- mutability
- of collections [1]
<mutable-collection>
[1] [2] [3]<mutable-explicit-key-collection>
<mutable-sequence>
N
- name character
- name-based exception systems
- named value references
- names
- BNF of
- conventions for
- escaping
- of macros [1]
- special treatment of [1]
- namespace of bindings, modules as
- natural order, of collection iteration
- negation, logical [1] [2]
negative
negative?
- new value argument, returned by a setter
next-method
[1]next-method
parameter- nonlocal exits [1] [2] [3] [4] [5]
- notation
- of built-in class reference [1]
- of built-in function reference [1]
- of the BNF
- of the manual
<number>
- numbers, BNF of
- numeric
- characters
- classes, sealed
- literal constants [1] [2]
- operations, default implementations of
O
<object>
- object-based exception system
object-class
object-hash
<object-table>
odd?
- on-unit
- open classes [1] [2]
- open generic functions, manual notation of
- operand
- operations
- operator calls [1] [2]
- operators [1] [2]
- and token blending
- binding names of [1]
- BNF of
- order of execution of [1] [2]
- precedence of
- stripping special syntactic properties from names of
- optimization
- as an inappropriate use of macros
- See also sealing
- optional arguments
- optional initialization argument specifications [1]
- or, logical operator
- order of arguments and method dispatch
- order of collection iteration
- order of execution [1]
otherwise
as a reserved word- outside stack
- owned module bindings
P
<pair>
pair
- pairs
- as literal constants
- constructors for
- See also lists
- parallel binding
- parameter lists [1] [2] [3]
- congruency of [1]
- kinds of [1]
- of generic functions [1] [2]
- of methods
- parameters
- closed over
- kinds of [1]
- of methods
- specializing [1]
- parenthesized expressions
- parsed expression fragments
- parsing [1] [2]
- pattern matching
- pattern variables
- constraints of [1]
- in macros
- matching of
- pattern-lists, matching of
- pattern-sequences, matching of
- patterns
$permanent-hash-state
- permited keywords
pop
pop-last
positive?
- precedence
- precision of integers
- predicate name convention
- primary classes [1] [2]
- program control [1]
- program structure [1] [2]
- proper lists
- proper subtypes
- properties
- property lists
- property-list-patterns, matching of
- protected regions [1] [2]
- pseudosubtypes [1]
- examples of [1]
- punctuation
push
push-last
Q
- question mark
- in macros [1] [2]
- predicate name convention
R
- raise
<range>
range
- ranges, constructor for
rank
<rational>
rcurry
- read-only bindings
- readability
<real>
- recognized keywords
- recovery [1] [2] [3] [4]
- recursion
- recursive functions
- recursive methods [1]
reduce
reduce1
- referential transparency
remainder
remove
remove!
remove-duplicates
remove-duplicates!
remove-key!
[1] [2]remove-method
- removing keys from a collection
- reparsing of macros
replace-elements!
replace-subsequence!
- require a fixed number of arguments
- required initialization argument specifications [1]
- required keyword [1] [2]
- required parameters
- required value declarations
required-init-keyword:
- reserved words
- rest parameters
- rest value declarations
- rest-binding, used to receive multiple values
<restart>
[1] [2]- restart handlers [1] [2]
restart-query
- restarts [1]
- restrictions on method definitions
- return value declarations [1] [2]
- of getters and setters [1]
- return values of methods
return-allowed
return-description
return-query
- returning from exceptions [1] [2]
- returning multiple values
reverse
reverse!
- rewrite rules [1]
- right-associativity of
:=
and^
- root of the type hierarchy,
<object>
as [1] [2] round
round/
row-major-index
S
- sealed domains [1]
- abbreviations for [1]
- constraints implied by
- created by
define sealed domain
- rationale for [1]
- sealed methods, manual notation of
sealed slot
option todefine class
<sealed-object-error>
- sealing [1]
- sealing directives
second
second-setter
select
- send super
- See
next-method
- See
<sequence>
[1] [2]- sequences
<serious-condition>
- set operations [1]
- setter function shorthand syntax
- setter methods
- setter name convention
- setters
-setter
suffix- shadowing macros
- shadowing names accidently
shallow-copy
signal
[1] [2] [3]- signal system
- signaler
- signaling unit
<simple-error>
<simple-object-vector>
- simple-patterns, matching of
<simple-restart>
<simple-vector>
<simple-warning>
- single inheritance and primary classes
<single-float>
- single-line comments
<singleton>
[1] [2]singleton
- singleton syntax
- singletons [1]
size
size-setter
- slot access
- slot reference syntax [1] [2]
slot-initialized?
[1] [2]- slots [1] [2]
- accessed through functions
- allocation of [1]
- constant [1]
- default names of
- duplication of
- efficiency of
- implicitly creating generic functions
- inheritance of [1] [2]
- init expressions of
- init functions of
- init values of
- initialization argument specifications of [1]
- initialization of class allocated [1]
- overriding
- sealed
- specialization of [1]
- specification of
- specifying with
define class
- testing the initialization of [1] [2]
- using [1]
sort
sort!
sorted-applicable-methods
- sorting applicable methods
- source code associated with a library
- source code format
- source records
- special definitions
- specializers
- specializing
- stability under iteration
- stack model [1]
- state of an iteration
- statement macros [1] [2] [3]
- statements [1] [2]
- static nature of definitions
<stretchy-collection>
[1] [2]<stretchy-vector>
<string>
- string literal constants [1] [2] [3]
- strings
- structure of Dylan programs [1]
- subroutines in macros
- See auxiliary rule sets
subsequence-position
subtype?
- defined for union types
- defining a partial ordering on types
- in the type protocol
- of limited collection types [1]
- subtypes, proper
- superclasses, specification of
- supplied initialization arguments
<symbol>
- symbol literal constants [1] [2]
- symbols
- syntax
- BNF of [1]
- of function calls
- of the language [1]
T
<table>
[1] [2]table-protocol
[1] [2]- tables [1] [2]
tail
- tail recursion
tail-setter
- tails of lists
- templates [1]
third
third-setter
- throw
- token blending
- See blending of tokens
- tokens
- top-level constituents
- top-level definitions
- total ordering, of classes in a class precedence list
- transfer of control [1] [2]
- See also exits, nonlocal exits
- transitivity, property of comparitors
- trichotomy, property of comparitors
- true and false
truncate
truncate/
<type>
- type protocol [1] [2]
- type restrictions
<type-error>
type-error-expected-type
type-error-value
type-for-copy
[1] [2]type-union
[1] [2]type:
argument in initialization argument specifications- types [1]
- disjointness of [1]
- equality of
- equivalence of
- equivalence of, in method dispatch
- introspection on [1]
- limited collection types [1]
- limited types [1]
- naming convention for
- of keyword parameters [1]
- of return values
- overview of
- relationships among
- union types [1]
- unordered, in method dispatch
U
- unary operator calls
- Unicode character literal constants
<unicode-string>
- uninstantiable classes
union
- union types [1]
- unique strings
- as literal constants
- See also keywords
unless
until
- used modules
- user-defined definition macros
- user-defined statement macros
V
- value declarations
- value types
values
[1] [2]- variable bindings
- created by
define variable
- naming convention for
- See also bindings
- created by
<vector>
vector
- vector literal constants [1] [2] [3] [4]
- vectors [1]
version:
, interchange format keyword- virtual slot allocation [1] [2]
- virtual slot initialization
- visible bindings in a module
- visible modification
W
<warning>
- warnings, as kinds of conditions
- whales
while
- whitespace
- wildcard constraints [1]