
TL;DR
Cyan is a prototype-based object-oriented programming language that combines features like gradual typing, inheritance, generics, and metaprogramming, aiming to provide a flexible and powerful development environment.
Contribution
This paper introduces Cyan, a new language integrating gradual typing, prototype-based inheritance, generics, and a metaobject protocol for advanced metaprogramming.
Findings
Supports both static and dynamic typing
Enables safe object initialization and exception handling
Provides a powerful compile-time metaprogramming system
Abstract
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).
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Logic, programming, and type systems · Advanced Software Engineering Methodologies
