The Cyan Language
This is the manual of Cyan, a prototype-based object-oriented language. Cyan supports gradual typing (both static and dynamic typing), single inheritance, anonymous functions, generic prototypes with concepts, non-nullable types, partially safe object initialization, an object-oriented exception handling system, and a powerful Metaobject Protocol for metaprogramming at compile-time (this is described elsewhere).