Index
Up: No Title
Previous: References
- 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