Cecil Languages Programming

Cecil is a pure object-oriented, prototype-based language made to support fast building of high-quality, extensible software. It combines multi-methods with a simple classless object model (prototypes), a kind of dynamic inheritance, modules, and optional static type checking. Instance variables are accessed only via messages, allowing instance variables to be replaced or overridden by methods and vice versa. A predicate objects mechanism allows objects to be classified automatically based on run-time (mutable) state. The static type system distinguishes between subtyping and code inheritance, but enables these two graphs to be described with one set of declarations, streamlining the common case where the two graphs are parallel. It has a fairly flexible form of parameterization, with explicitly parameterized objects, types, methods, and implicitly parameterized methods related to the polymorphic functions commonly found in functional languages. By making type declarations optional, it aims to allow mixing of and migration between exploratory and production programming styles. It supports a module mechanism that lets independently-developed subsystems be encapsulated, letting them be type-checked and reasoned about in isolation despite presence of multi-methods and subclassing. Objects can be extended externally with added methods and instance variables, often encapsulated in separate modules, supporting a kind of role-based or subject-oriented programming style.

    Top: Computers: Programming: Languages: Cecil

See Also:
  • Cecil Language - Specification and rationale: pure object-oriented, prototype-based, statically-typed, to programming support fast writing of reliable, extensible systems. Description, programming documents in HTML, PS formats.
  • UW Cecil/Vortex Project Papers - Cecil/Vortex design and implementation research papers.
  • UW Cecil Group - University of Washington language/OS research: Cecil, Vortex, MultiJava, cecil EML, Whirlwind languages (done in Cecil), Cecil front-ends for cecil Vortex, and stand alone languages Cecil interpreter. Focus: practical cecil programming systems that make big programs languages and systems cecil easier to writ

   MySQL - Cache Direct