This is an old revision of the document!
In this tutorial chapter, we introduce AmbientTalk's language features that have to do with writing modular programs. The term “modular” can be taken quite broadly in this context. By “modular” programming, we here mean programs hierarchically structured into multiple files and objects composed from multiple so-called “trait” objects. We also describe AmbientTalk's lightweight support for classifying objects and how this enables exception handling based on “types”.
explain: lobby object, ~ object, files as objects, namespace objects and hierarchical structuring of files, uniform access files/objects
explain: import native, using import for importing external file definitions. Warning: importing from namespaces
explain: using import as an object-composition mechanism: concepts behind traits (required/provided interface), aliasing, exclusion.
explain: what are stripes? what kind of objects are they, stripe subtyping, stripe test, what default stripes exist
explain: raise, try-catch and variants, first-class handlers, role of stripes, interface of an exception object