ABSTRACT
Aspect languages for Smalltalk have not kept up with advances in aspect language research. Arguably the only well-known aspect language for Smalltalk is AspectS. It is a ground-breaking contribution, especially regarding dynamic aspects, yet it lacks amenities which aspect language users have come to rely on, e.g. the use of patterns in pointcuts and the ability to declare aspect precedence. Alternative aspect languages for Smalltalk are effectively absent. As a result, currently Smalltalk lacks a modern and powerful aspect language.To address this deficit, we elected to design and build PHANtom: a modern aspect language for Pharo Smalltalk. PHANtom is designed to be an aspect language in the spirit of Smalltalk: dynamic, simple and powerful. PHANtom is a modern aspect language because it incorporates what we consider to be the best features of languages that precede it, includes recent research results in aspect interactions and reentrancy control, and is designed from the onset to be optimized and compiled where possible. This demo presents PHANtom by first providing an introduction to the language, detailing its philosophy and fundamental features. It second discusses the salient features of the language by demonstrating the use of PHANtom in an example application.
- Ali Assaf and Jacques Noyé. Dynamic aspectj. In Proceedings of the 2008 symposium on Dynamic languages, DLS '08, pages 8:1--8:12, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- John Brant, Brian Foote, Ralph Johnson, and Donald Roberts. Wrappers to the rescue. In Eric Jul, editor, ECOOP'98 - Object-Oriented Programming, volume 1445 of Lecture Notes in Computer Science, pages 396--417. Springer Berlin / Heidelberg, 1998. Google ScholarDigital Library
- Christopher Dutchyn, David B. Tucker, and Shriram Krishnamurthi. Semantics and scoping of aspects in higher-order languages. Science of Computer Programming, 63(3):207 -- 239, 2006. Special issue on foundations of aspect-oriented programming. Google ScholarDigital Library
- Johan Fabry and Daniel Galdames. PHANtom: a modern aspect language for Pharo Smalltalk. In Proceedings of 2011 International Workshop on Smalltalk Technologies (IWST'11). ACM Press, 2011. Google ScholarDigital Library
- Robert Hirschfeld. AspectS - Aspect-Oriented Programming with Squeak. In Mehmet Aksit, Mira Mezini, and Rainer Unland, editors, Objects, Components, Architectures, Services, and Applications for a Networked World, volume 2591 of Lecture Notes in Computer Science, pages 216--232. Springer Berlin / Heidelberg, 2003. Google ScholarDigital Library
- Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William Griswold. An overview of aspectj. In Jorgen Knudsen, editor, ECOOP 2001 - Object-Oriented Programming, volume 2072 of Lecture Notes in Computer Science, pages 327--354. Springer Berlin / Heidelberg, 2001. Google ScholarDigital Library
- Antoine Marot. Preserving the Separation of Concerns while Composing Aspects with Reflective AOP. PhD thesis, Université Libre de Bruxelles, 2011.Google Scholar
- H. Rajan and K.J. Sullivan. Classpects: unifying aspect- and object-oriented language design. In Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on, pages 59 -- 68, may 2005. Google ScholarDigital Library
- Lukas Renggli, Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Practical dynamic grammars for dynamic languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), Malaga, Spain, June 2010.Google Scholar
- Éric Tanter, Nicolas Tabareau, and Rémi Douence. Taming aspects with membranes. In Proceedings of the 11th Workshop on Foundations of Aspect-Oriented Languages (FOAL 2012), Potsdam, Germany, March 2012. ACM Press. Google ScholarDigital Library
Index Terms
- PHANtom: an aspect language for pharo smalltalk
Recommendations
PHANtom: a modern aspect language for Pharo Smalltalk
IWST '11: Proceedings of the International Workshop on Smalltalk TechnologiesIn the context of our research on Aspect-Oriented Programming, we have a need for a modern and powerful aspect language for Smalltalk. Current aspect languages for Smalltalk however fall short on various points. To address this deficit, we elected to ...
PHANtom: a modern aspect language for Pharo Smalltalk
In the context of our research on Aspect-Oriented Programming, we have a need for a modern and powerful aspect language for Smalltalk. Current aspect languages for Smalltalk however fall short on various points. To address this deficit, we elected to ...
Pluggable AOP: designing aspect mechanisms for third-party composition
Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applicationsStudies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the ...
Comments