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…endbracketing 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 keywordcreateclause 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
defineas 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 -definersuffix- 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
dylanlibrarydylanmoduledylanmodule and operator names- Dylan programming language [1]
dylan-usermodule- dynamic condition handlers
E
each-subclassslot 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? endas 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
blockstatement - 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
handleras 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 keyword-
last -
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]
macroas 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…endbracketing 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-methodparameter- 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]
otherwiseas 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 slotoption 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
-settersuffix- 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]