[Next] [Previous] [Top] [Contents] [Index]

"The Cecil Language: Specification and Rationale"

Static Types


Cecil supports a static type system which is layered on top of the dynamically-typed core language. The type system's chief characteristics are the following:

This section describes Cecil's static type system in the absence of parameterization; section 4 extends this section to cope with parameterized objects and methods. Section 3.1 presents the major goals for the type system. Section 3.2 presents the overall structure of the type system. Sections 3.3, 3.4, and 3.5 describe the important kinds of declarations provided by programmers that extend the base dynamically-typed core language described in section 2. Sections 3.6, 3.7, 3.8, and 3.9 detail the type-checking rules for the language. Section 3.10 describes how the language supports mixed statically- and dynamically-typed code.