This document describes the Ring programming language and provides examples of using some of its features. Some key points: - Ring allows creating objects inside lists and adding objects to lists. Objects and lists can be returned by reference from functions. - Composition in Ring allows objects to be attributes of other classes. Returning an object attribute returns it by reference. - Classes can define a "BraceEnd()" method that executes after accessing an object with curly braces. - Through nested structures, composition, and BraceEnd(), Ring enables declarative programming on top of its object-oriented model. - Examples show creating screens with points, accessing objects declaratively, and executing code after object access ends.