Nierstrasz, OscarOscarNierstraszAchermann, FranzFranzAchermannFilman, Robert E.Elrad, TzillaClarke, SiobhánAksit, Mehmet2025-01-082025-01-082005https://boris-portal.unibe.ch/handle/20.500.12422/199385As applications evolve, it becomes harder and harder to separate independent concerns. Small changes to a software system increasingly affect different parts of the source code. AOP and related approaches offer various ways to separate concerns into concrete software artifacts, but what is the \emphessence of this process? We claim that first-class namespaces —-which we refer to as \emphforms—- offer a suitable foundation for separating concerns, by offering simple, yet expressive mechanisms for defining composable abstractions. We demonstrate how forms help a programmer to separate concerns by means of practical examples in Piccola, an experimental composition language.en000 - Computer science, knowledge & systems500 - Science::510 - MathematicsSeparating Concerns with First-Class Namespacesbook_section10.7892/boris.104667