Cecil (programming language)
|Designed by||Craig Chambers|
|Typing discipline||dynamic (optionally static)|
Cecil is a pure object-oriented programming language that was developed by Craig Chambers at the University of Washington in 1992 to be part of the Vortex project there. Cecil has many similarities to other object-oriented languages, most notably Objective-C, Modula-3, and Self. The main goals of the project were extensibility, orthogonality, efficiency, and ease-of-use.
The language supports multiple dispatch and multimethods, dynamic inheritance, and optional static type checking. Unlike most other OOP systems, Cecil allows subtyping and code inheritance to be used separately, allowing run-time or external extension of object classes or instances. Like Objective-C, all object services in Cecil are invoked by message passing, and the language supports run-time class identification. These features allow Cecil to support dynamic, exploratory programming styles. Parameterized types and methods (generics, polymorphism), garbage collection, and delegation are also supported. Cecil also supports a module mechanism for isolating independent libraries or packages. Cecil does not presently support threads or any other form of concurrency. A standard library for Cecil is also available and includes various collection, utility, system, I/O, and GUI classes.
There was also an assembler type language known as CESIL (Computer Education in Schools Instructional Language) used in the late-1970s developed by ICL. It was quite similar to the later language MASM.
- Dean, Jeffrey; DeFouw, Greg; Grove, David; Litvinov, Vassily; Chambers, Craig (1996). "Vortex: an optimizing compiler for object-oriented languages". Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. OOPSLA'96. pp. 83–100. doi:10.1145/236338.236344. ISBN 0-89791-788-X.
- Chambers, Craig (1992). "Object-oriented multi-methods in Cecil". ECOOP ’92 European Conference on Object-Oriented Programming. ECOOP'92. LNCS. 615. pp. 33–56. doi:10.1007/BFb0053029. ISBN 3-540-55668-0. ISSN 0302-9743.
- "Diesel". University of Washington.