Index



next up previous contents
Up: No Title Previous: References

Index

actual type
Type Inclusion
any
Built-in Types, Any
as a supertype
The Theta Type , Type Hierarchy, Type Specifications
as a supertype
The Theta Type , Type Hierarchy, Type Specifications
as a supertype
The Theta Type , Type Hierarchy, Type Specifications
apparent type
Type Inclusion
of expressions
Expressions
arguments
varying number of
Invocation
arithmetic operators
Int, Real
array-like types
Fetch, Store Statement
arrays
Built-in Types, Array
creation using varying arguments
Array
short form for fetch method
Fetch
short form for store method
Store Statement
type instantiation
Parameterized Type Instantiations
assignment
Assignment
legality of
Type Inclusion
multiple
Assignment
within a declaration
Initialization Assignment
associativity
Precedence and Associativity
bag example
implementation
Example
specification
Type Specification Examples
using implementation as superclass
Example of Inheritance
begin statement
Begin Statement
binding
in method selection
Method Selection
of routines
Binding
varying number of arguments
Binding
BNF grammar
Reference Grammar
form of
Notation
body
as a scoping unit
Scoping Units
of a statement
Statements
booleans
Built-in Types, Bool
break statement
Break Statement
built-in types
Built-in Types
call by sharing
Call by Sharing, Stand-Alone Routine Implementations
case insensitivity
Case Insensitivity
characters
Built-in Types, Char
class constructors
Class Constructors
class type
definition of
Classes
relation to superclass
Subclasses
use in typecase statement
Classes
classes
Overview of the , Classes and Inheritance, Classes
constructors for
Class Constructors, Classes
constructors for
Class Constructors, Classes
exporting enough methods & routines
Defining Superclasses
inheritance in
Inheritance
makers for
Classes and Inheritance, Makers
makers for
Classes and Inheritance, Makers
public and private methods
Classes and Inheritance, Classes
public and private methods
Classes and Inheritance, Classes
rules for
Rules for Superclasses
comments
Comments
compilation of program units
Programs
conformance
of routine signatures
Routine Type Hierarchy
of subtype definitions
The Theta Type , Type Specifications
of subtype definitions
The Theta Type , Type Specifications
constant expressions
Constant Expressions
constraints
Parametric Polymorphism
in implementations
Parameterized Implementations
in method specifications
Type Specifications
in specifications
Parameterized Specifications
satisfying in instantiations
Parameterized Type Instantiations, Parameterized Type Instantiations
satisfying in instantiations
Parameterized Type Instantiations, Parameterized Type Instantiations
constructors
for classes
Class Constructors, Classes
for classes
Class Constructors, Classes
for records, structs, oneofs, and maybes
Constructors, Record
for records, structs, oneofs, and maybes
Constructors, Record
continue statement
Continue Statement
contravariance rule
Routine Type Hierarchy
covariance rule
Routine Type Hierarchy
creation routines
Specifications
choice of names
Type Specifications
exported by modules
Modules
implementation of
Classes and Inheritance
in implementation module
Modules
specification of
Type Specifications
currying
Binding
declarations
Variables and Declarations
as a statement
Simple Statements
implementation of get and set methods
Abbreviated Implementations
in for statement
For Statement
of instance variables
Classes, Abbreviated Implementations
of instance variables
Classes, Abbreviated Implementations
with initialization
Initialization Assignment
without initialization
Variables and Declarations
dispatch
Run-Time Dispatch
encapsulation
Modules
in modules
Modules
encapsulation in modules
Modules, Modules
equated identifiers
defined in equates
Equates
used in expressions
Identifiers that denote
equates
Equates
no recursion in
Equates
scope of
Equates
examples
bag implementation
Example, Example of Inheritance
bag implementation
Example, Example of Inheritance
bag specification
Type Specification Examples
stack implementation
Example of Inheritance
stack specification
Type Specification Examples
except statement
Except Statement
use with exit statement
Exit Statement
exceptions
for use of uninitialized variable
Variables and Declarations
from exit statement
Exit Statement
handled by except statement
Except Statement
maker reaches end of body
Makers
procedure reaches end of body
Stand-Alone Routine Implementations
raised by routine invocation
Termination
signaling of
Signal Statement
exit statement
Exit Statement
exporting
in classes
Defining Superclasses
in subclasses
Subclasses
safety considerations
Rules for Superclasses
expressions
Expressions
actual type of
Type Inclusion
apparent type of
Type Inclusion, Expressions
apparent type of
Type Inclusion, Expressions
associativity of operators
Precedence and Associativity
bind
Binding
constants
Constant Expressions
constructors
Constructors
equated identifiers
Identifiers that denote
fetch
Fetch
identifiers denoting routines
Identifiers that denote
identifiers that denote objects
Identifiers that denote
instance variables
Instance Variable Selection
literals
Literals
method selection
Method Selection
new_object
Identifiers that denote
precedence of operators
Precedence and Associativity
prefix and infix operators
Prefix and Infix
procedure invocation
Procedure Invocation
routine instantiations
Routine Instantiation
self
Identifiers that denote
short circuit boolean operators
& and
variables
Identifiers that denote
external names
Programs
definition of
External Names
for types
Types and Parameterized
linking
Modules
scope rules
Scope Rules
use in implements clause
Modules
failure exception
The Failure Exception
for use of uninitialized variable
Variables and Declarations
maker reaches end of body
Makers
not listed in routine interface
Stand-Alone Routine Specifications
procedure reaches end of body
Stand-Alone Routine Implementations
false
Built-in Types, Bool
fetch method special form
Fetch
for statement
For Statement
garbage collection
Objects
get method
abbreviated implementation
Abbreviated Implementations
grammar
BNF form
Notation
case insensitivity
Case Insensitivity
comments
Comments
operators
Operators and Punctuation
punctuation symbols
Operators and Punctuation
reserved words
Reserved Words
tokens and separators
Tokens and Separators
handlers
for exceptions
Except Statement
for exit statement
Exit Statement
hides clause
of a class
Defining Superclasses
restrictions in a subclass
Subclasses
identifiers
Identifiers
used in expressions
Identifiers that denote
idns
ScopesDeclarations, and
if statement
If Statement
immutable objects
Types and Parameterized
implementations
of bag
Example, Example of Inheritance
of bag
Example, Example of Inheritance
of stack
Example of Inheritance
of stand-alone routines
Stand-Alone Routine Implementations
of types by classes
Classes
parameterized
Parameterized Implementations
implements clause
Modules
infix operators
Prefix and Infix
inheritance
Overview of the , Classes and Inheritance, Classes and Inheritance, Inheritance
and type hierarchy
Subclasses
example of
Example of Inheritance
renaming of superclass methods
Subclasses
inheriting methods in a subclass
Subclasses
instance variables
assignment to
Assignment
declarations of
Classes
hidden from subclasses
Classes and Inheritance, Subclasses
hidden from subclasses
Classes and Inheritance, Subclasses
implementing get and set methods
Classes and Inheritance, Abbreviated Implementations
implementing get and set methods
Classes and Inheritance, Abbreviated Implementations
in a subclass
Subclasses
selection of
Instance Variable Selection
use in expressions
Instance Variable Selection, Classes
use in expressions
Instance Variable Selection, Classes
use in make statement
Make Statement, Makers
use in make statement
Make Statement, Makers
instantiation
Parametric Polymorphism, Types and Parameterized , Parameterized Type Instantiations, Routine Instantiation
for tagged types
Tagged Types
general form
Parameterized Type Instantiations
legality
Parameterized Type Instantiations
of methods
Method Selection
of routines
Routine Instantiation
integers
Built-in Types, Int
invocation
Invocation
as a statement
Simple Statements
in primaries
Primaries
legality of
Form of Invocation
method dispatch
Run-Time Dispatch
of bound routine
Binding
of iterator in for statement
For Statement
of maker in class constructor
Class Constructors
of maker in make statement
Make Statement
of selected method
Method Selection
used in expressions
Procedure Invocation
using varying number of args
Form of Invocation
iterators
as methods
Type Specifications
implementation of
Stand-Alone Routine Implementations
invocation of
Invocation
specification of
Stand-Alone Routine Specifications
used in for statement
For Statement
linking
for external names
Modules
for"external names
Programs
literals
Literals, Literals
for booleans
Bool
for characters
Char
for integers
Int
for reals
Real
for strings
String
for type null
Null
used in expressions
Literals
make statement
Make Statement
use in makers
Makers
makers
Classes and Inheritance, Makers
provided by a class
Defining Superclasses
use in a subclass
Subclasses
use in class constructors
Class Constructors
use of make statement in
Make Statement
used to implement routines
Stand-Alone Routine Implementations
maybes
Built-in Types, Maybe
constructors for
Constructors
type instantiation
Parameterized Type Instantiations
use in tagcase statement
Tagcase Statement
method calls
in parameterized implementations
Parameterized Implementations
short forms
Prefix and Infix
methods
Objects
abbreviated implementations of
Abbreviated Implementations
calls in parameterized implementation
Parameterized Implementations
can be procedures or iterators
Type Specifications
choice of names in
Type Specifications
constraints
Type Specifications
dispatch at runtime
Run-Time Dispatch
hidden by class
Defining Superclasses
implementation of
Classes
inherited in a subclass
Subclasses
instantiation of
Method Selection
invocation of
Invocation
named using the form
Subclasses
optional
Parameterized Type Instantiations, Type Specifications
optional
Parameterized Type Instantiations, Type Specifications
overridden in a subclass
Subclasses
parameterized
Parameterized Type Instantiations, Type Specifications
parameterized
Parameterized Type Instantiations, Type Specifications
private
Classes and Inheritance, Classes
private
Classes and Inheritance, Classes
provided by class
Defining Superclasses
public
Classes
selection of
Method Selection
specifications
Type Specifications
modules
Overview of the , Modules, Implementations
multiple assignment
Assignment
mutable objects
Types and Parameterized
nil
Built-in Types, Null
null
Built-in Types, Null
use in maybes
Built-in Types, Maybe
use in maybes
Built-in Types, Maybe
objects
actual type of
Type Inclusion
creation of
Objects
creation routines
Type Specifications
in object universe
Objects
initialized by class constructors
Class Constructors
initialized by makers
Makers
initialized in make statement
Make Statement
mutable and immutable
Types and Parameterized
same_object procedure
Same_object
oneofs
Built-in Types, Oneof
constructors for
Constructors
relationship to maybes
Maybe
use in tagcase statement
Tagcase Statement
operators
arithmetic
Int, Real
arithmetic
Int, Real
associativity rules
Precedence and Associativity
fetch form
Fetch
infix
Prefix and Infix
precedence rules
Precedence and Associativity
prefix
Prefix and Infix
short circuit boolean
& and
optional methods
Parameterized Type Instantiations, Type Specifications
others arm
Others Handler
not used with exits
Exit Statement
overriding methods
Subclasses
effect on superclass methods
Subclasses
parameterized implementations
Parameterized Implementations
parameterized specifications
Parameterized Specifications
parameterized types
Types and Parameterized
instantiation
Parameterized Type Instantiations
parametric polymorphism
Overview of the , Parametric Polymorphism, Parameterized Specifications
polymorphism
parametric
Overview of the , Parametric Polymorphism
parametric
Overview of the , Parametric Polymorphism
subtype
Overview of the , The Theta Type
subtype
Overview of the , The Theta Type
precedence
Precedence and Associativity
prefix operators
Prefix and Infix
primaries
definition of
Primaries
use in left hand side of assignment
Assignment
used in invocation statement
Simple Statements
used in store statement
Store Statement
private methods
Classes and Inheritance, Classes
procedures
as methods
Type Specifications
implementation of
Stand-Alone Routine Implementations
invocation of
Invocation
invoked as a statement
Simple Statements
invoked in expressions
Procedure Invocation
invoked in multiple assignment
Initialization Assignment
reaching end of body
Stand-Alone Routine Implementations
specification of
Stand-Alone Routine Specifications
program units
Programs
provides clause
of a class
Defining Superclasses
restrictions in a subclass
Subclasses
public methods
Classes
raising exceptions
Signal Statement
reals
Built-in Types, Real
records
Built-in Types, Record
constructors for
Constructors
field selection
Field Selection
renaming
in a subclass
Classes and Inheritance, Subclasses
in a subclass
Classes and Inheritance, Subclasses
of supertype methods
The Theta Type , Type Specifications
of supertype methods
The Theta Type , Type Specifications
reserved words
Reserved Words
resignal statement
Resignal Statement
not used with exits
Exit Statement
return statement
Return Statement
routine objects
Routine Instantiation
routine types
contra and covariance
Routine Type Hierarchy
equality of
Type Equality
routines
Invocation, Routines
are first class objects
Built-in Types
binding
Binding
currying
Binding
for creating objects
Specifications, Type Specifications, Modules
for creating objects
Specifications, Type Specifications, Modules
for creating objects
Specifications, Type Specifications, Modules
identifiers used in expressions
Identifiers that denote
implementation of
Stand-Alone Routine Implementations
implemented by makers
Stand-Alone Routine Implementations
instantiation of
Built-in Types, Routine Instantiation
instantiation of
Built-in Types, Routine Instantiation
kinds of
Invocation
methods of
Routines
parameterized implementations
Parameterized Implementations
parameterized specifications of
Parameterized Specifications
procedures and iterators
Invocation
provided by class
Defining Superclasses
specifications of
Stand-Alone Routine Specifications
stand alone
Objects, Invocation
stand alone
Objects, Invocation
subtyping rules for
Routine Type Hierarchy
termination of
Termination
type derived from"specification
Stand-Alone Routine Specifications
type designators for
Routine Types
type hierarchy of
Routine Type Hierarchy
ways of obtaining
Invocation
rules for classes
Rules for Superclasses
same_object procedure
Same_object
scopes and scope rules
ScopesDeclarations, and , Scope Rules
containment
Scoping Units
external names
Scope Rules
scoping units
Scoping Units
selection
from self
Classes
of a method
Method Selection
of an instance variable
Instance Variable Selection
within a class
Classes
self
implicit use
Instance Variable Selection
use in make statement
Make Statement, Makers
use in make statement
Make Statement, Makers
use in methods
Classes
used in expressions
Identifiers that denote
separators
Tokens and Separators
sequences
Built-in Types, Sequence
constructed from varying args in invocation
Form of Invocation
creation using varying arguments
Sequence
short form for fetch method
Fetch
type instantiation
Parameterized Type Instantiations
use in routine header for varying args
Stand-Alone Routine Specifications
set method
abbreviated implementation
Abbreviated Implementations
short circuit boolean operators
& and
short forms
for fetch method
Fetch
for method calls
Prefix and Infix
for store method
Store Statement
rules for use
Type Specifications
signal statement
Signal Statement
specifications
Overview of the , Specifications
of bag
Type Specification Examples
of creation routines
Type Specifications
of stack
Type Specification Examples
of stand-alone routines
Stand-Alone Routine Specifications
of types
Specifications, Type Specifications
of types
Specifications, Type Specifications
parameterized
Parameterized Specifications
separate from implementations
Specifications
stack example
implementation as subclass
Example of Inheritance
specification
Type Specification Examples
stand alone routines
Invocation
implementation of
Stand-Alone Routine Implementations
specification of
Stand-Alone Routine Specifications
statements
Statements
assignment
Assignment, Simple Statements
assignment
Assignment, Simple Statements
begin
Begin Statement
body of
Statements
break
Break Statement
continue
Continue Statement
declarations
Variables and Declarations, Initialization Assignment, Simple Statements
declarations
Variables and Declarations, Initialization Assignment, Simple Statements
declarations
Variables and Declarations, Initialization Assignment, Simple Statements
except
Except Statement
exit
Exit Statement
for
For Statement
if
If Statement
initialization assignment
Initialization Assignment
invocation
Simple Statements
make
Make Statement
multiple assignment
Assignment
resignal
Resignal Statement
return
Return Statement
signal
Signal Statement
simple
Simple Statements
store
Store Statement
tagcase
Tagcase Statement
typecase
The Theta Type , Typecase Statement
typecase
The Theta Type , Typecase Statement
while
While Statement
yield
Yield Statement
store method special form
Store Statement
store statement
Store Statement
strings
Built-in Types, String
structs
Built-in Types, Struct
constructors for
Constructors
field selection
Field Selection
subclasses
Classes and Inheritance, Subclasses
subtype polymorphism
Overview of the , The Theta Type , Type Specifications
subtypes
The Theta Type
conformity rules
The Theta Type , Type Specifications
conformity rules
The Theta Type , Type Specifications
declaration of supertypes
Type Specifications, Parameterized Specifications
declaration of supertypes
Type Specifications, Parameterized Specifications
rules for routines
Routine Type Hierarchy
semantic rules
Type Specifications
superclasses
Classes and Inheritance, Defining Superclasses
methods used in subclasses
Subclasses
supertypes
Overview of the , The Theta Type
declared in specification
Type Specifications
of parameterized types
Parameterized Specifications
syntactic sugar
for fetch method
Fetch
for method calls
Prefix and Infix
for store method
Store Statement
rules for use
Type Specifications
tagcase statement
Tagcase Statement
tagged types
equality of
Type Equality
Thor
Overview of the
tokens
Tokens and Separators
true
Built-in Types, Bool
type
of bound routine
Binding
of instantiated routine
Routine Instantiation
of routine
Stand-Alone Routine Specifications
of selected method
Method Selection
type checking
The Theta Type , Type Equality
conformity of subtype
The Theta Type , Type Specifications
conformity of subtype
The Theta Type , Type Specifications
of expressions
Expressions
of invocations
Invocation
of type designators
Type Equality
of variables
Type Inclusion
type designators
Types and Parameterized
defined by equate
Equates
equality of
Type Equality
for parameterized types
Parameterized Type Instantiations
for records, structs, and oneofs
Tagged Types
for routines
Routine Types
for simple types
Simple Types
type equality
Type Equality
type hierarchy
Overview of the , The Theta Type , Types and Parameterized , Type Hierarchy
and inheritance
Subclasses
declaring supertypes
Type Specifications
for routines
Routine Type Hierarchy
type inclusion rule
Type Inclusion
type specifications
Type Specifications
parameterized
Parameterized Specifications
typecase statement
The Theta Type , Typecase Statement
narrowing to class type
Classes
types
Objects, Types and Parameterized
any
The Theta Type , Built-in Types
any
The Theta Type , Built-in Types
arrays
Built-in Types
bool
Built-in Types
built-in
Built-in Types
char
Built-in Types
creation routines for
Specifications
external names for
Types and Parameterized
implemented by classes
Classes and Inheritance, Classes
implemented by classes
Classes and Inheritance, Classes
int
Built-in Types
maybes
Built-in Types
mutable and immutable
Types and Parameterized
null
Built-in Types
oneofs
Built-in Types
parameterized
Types and Parameterized
parameterized specifications of
Parameterized Specifications
real
Built-in Types
records
Built-in Types
sequences
Built-in Types
specification of
Specifications, Type Specifications
specification of
Specifications, Type Specifications
string
Built-in Types
structs
Built-in Types
vectors
Built-in Types
uninitialized variable exception
Variables and Declarations
variables
Variables and Declarations
assignment to
Assignment
declaration of
Variables and Declarations
exception if uninitialized
Variables and Declarations
instance variables
Assignment, Instance Variable Selection
instance variables
Assignment, Instance Variable Selection
type of
Variables and Declarations
uninitialized
Variables and Declarations
used in expressions
Identifiers that denote , Identifiers that denote
used in expressions
Identifiers that denote , Identifiers that denote
varying number of arguments
Form of Invocation
in a binding
Binding
in routine specifications
Stand-Alone Routine Specifications
use in array creation
Array
use in sequence creation
Sequence
use in vector creation
Vector
vectors
Built-in Types, Vector
creation using varying arguments
Vector
short form for fetch method
Fetch
short form for store method
Store Statement
type instantiation
Parameterized Type Instantiations
when arm
Handlers without Declarations
where clauses
example of use
Parameterized Type Instantiations
in implementations
Parameterized Implementations
in specifications
Parameterized Specifications
use in classes
Classes
while statement
While Statement
yield statement
Yield Statement


theta-questions@lcs.mit.edu