1     Introduction
        1.1     General
        1.2     Language survey
        1.3     Modes and classes
        1.4     Locations and their accesses
        1.5     Values and their operations
        1.6     Actions
        1.7     Input and output
        1.8     Exception handling
        1.9     Time supervision
       1.10     Program structure
       1.11     Concurrent execution
       1.12     General semantic properties
       1.13     Implementation options
 2     Preliminaries
        2.1     The metalanguage
        2.2     Vocabulary
        2.3     The use of spaces
        2.4     Comments
        2.5     Format effectors
        2.6     Compiler directives
        2.7     Names and their defining
occurrences
 3     Modes and classes
        3.1     General
        3.2     Mode definitions
        3.3     Mode classification
        3.4     Discrete modes
        3.5     Real modes
        3.6     Powerset modes
        3.7     Reference modes
        3.8     Procedure modes
        3.9     Instance modes
       3.10     Synchronization modes
       3.11     Input-Output Modes
       3.12     Timing modes
       3.13     Composite modes
       3.14     Dynamic modes
       3.15     Moreta Modes
 4     Locations and their accesses
        4.1     Declarations
        4.2     Locations
 5     Values and their operations
        5.1     Synonym definitions
        5.2     Primitive value
        5.3     Values
and expressions
 6     Actions
        6.1     General
        6.2     Assignment action
        6.3     If action
        6.4     Case action
        6.5     Do action
        6.6     Exit action
        6.7     Call action
        6.8     Result and return action
        6.9     Goto action
       6.10     Assert action
       6.11     Empty action
       6.12     Cause action
       6.13     Start action
       6.14     Stop action
       6.15     Continue action
       6.16     Delay action
       6.17     Delay case action
       6.18     Send action
       6.19     Receive case action
       6.20     CHILL built-in routine calls
 7     Input and Output
        7.1     I/O reference model
        7.2     Association values
        7.3     Access values
        7.4     Built-in routines for input output
        7.5     Text input output
 8     Exception handling
        8.1     General
        8.2     Handlers
        8.3     Handler identification
 9     Time supervision
        9.1     General
        9.2     Timeoutable processes
        9.3     Timing actions
        9.4     Built-in routines for time
10     Program
Structure
       10.1     General
       10.2     Reaches and nesting
       10.3     Begin-end blocks
       10.4     Procedure specifications and
definitions
       10.5     Process specifications and
definitions
       10.6     Modules
       10.7     Regions
       10.8     Program
       10.9     Storage allocation and lifetime
      10.10     Constructs for piecewise programming
      10.11     Genericity
11     Concurrent
execution
       11.1     Processes, tasks, threads and
their definitions
       11.2     Mutual exclusion and regions
       11.3     Delaying of a thread
       11.4     Re-activation of a thread
      
11.5     Signal definition statements
       11.6     Completion of Region and Task
locations
12     General
semantic properties
       12.1     Mode rules
       12.2     Visibility and name binding
       12.3     Case selection
       12.4     Definition and summary of semantic
categories
13     Implementation
options
       13.1     Implementation defined built-in
routines
       13.2     Implementation defined integer
modes
       13.3     Implementation defined floating
point modes
       13.4     Implementation defined process names
       13.5     Implementation defined handlers
       13.6     Implementation defined exception
names
       13.7     Other implementation defined
features
Appendix I –
Character set for CHILL
Appendix II – Special symbols
Appendix III – Special simple name strings
      III.1     Reserved simple name strings
      III.2     Predefined simple name strings
      III.3     Exception namesAppendix IV – Program examples
       IV.1     Operations on integers
       IV.2     Same operations on fractions
       IV.3     Same operations on complex numbers
       IV.4     General order arithmetic
       IV.5     Adding bit by bit and checking the
result
       IV.6     Playing with dates
       IV.7     Roman numerals
       IV.8     Counting letters in a character string of arbitrary length
       IV.9     Prime numbers
      IV.10     Implementing stacks in two
different ways, transparent to the user
      IV.11     Fragment for playing chess
      IV.12     Building and manipulating a
circularly linked list
      IV.13     A region for managing competing
accesses to a resource
      IV.14     Queuing calls to a switchboard
      IV.15     Allocating and deallocating a set
of resources
      IV.16     Allocating and deallocating a set
of resources using buffers
      IV.17     String scanner1
      IV.18     String scanner2
      IV.19     Removing an item from a double
linked list
      IV.20     Update a record of a file
      IV.21     Merge two sorted files
      IV.22     Read a file with variable length records
      IV.23     The use of spec modules
      IV.24     Example of a context
      IV.25     The use of prefixing and remote
modules
      IV.26     The use of text i/o
      IV.27     A generic stack
      IV.28    An abstract data type
      IV.29     Example of a spec module
      IV.30     Object-Orientation: Modes for
Simple, Sequential Stacks
      IV.31     Object-Orientation: Mode
Extension: Simple, Sequential Stack with Operation "Top"
      IV.32     Object-Orientation:  Modes for Stacks with Access SynchronizationAppendix V – Decommitted features
        V.1     Free directive
        V.2     Integer modes syntax
        V.3     Set modes with holes
        V.4     Procedure modes syntax
        V.5     String modes syntax
        V.6     Array modes syntax
        V.7     Level structure notation
        V.8     Map reference names
        V.9     Based declarations
       V.10     Character string literals
       V.11     Receive expressions
       V.12     Addr notation
       V.13     Assignment syntax
       V.14     Case action syntax
       V.15     Do for action syntax
       V.16     Explicit loop counters
       V.17     Call action syntax
       V.18     RECURSEFAIL exception
       V.19     Start action syntax
       V.20     Explicit value receive names
       V.21     Blocks
       V.22     Entry statement
       V.23     Register names
       V.24     Recursive attribute
       V.25     Quasi cause statements and quasi
handlers
       V.26     Syntax of quasi statements
       V.27     Weakly visible names and
visibility statements
       V.28     Weakly visible names and
visibility statements
       V.29     Pervasiveness
       V.30     Seizing by modulion name
       V.31     Predefined simple name strings
Appendix VI – Index of production rules