ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Semantics and scoping of aspects in higher-order languages
Science of Computer Programming - Special issue: Foundations of aspect-oriented programming
On the relation of aspects and monads
Proceedings of the 6th workshop on Foundations of aspect-oriented languages
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Execution levels for aspect-oriented programming
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
EffectiveAdvice: disciplined advice with explicit effects
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
A semantics for execution levels with exceptions
Proceedings of the 10th international workshop on Foundations of aspect-oriented languages
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
A monadic interpretation of execution levels and exceptions for AOP
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
abc: an extensible AspectJ compiler
Transactions on Aspect-Oriented Software Development I
A monadic interpretation of execution levels and exceptions for AOP
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Membranes for AOP: from vision to practice
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion
A typed monadic embedding of aspects
Proceedings of the 12th annual international conference on Aspect-oriented software development
Cast insertion strategies for gradually-typed objects
Proceedings of the 9th symposium on Dynamic languages
Hi-index | 0.00 |
We present Monascheme, an extensible aspect-oriented programming language based on monadic aspect weaving. Extensions to the aspect language are defined as monads, enabling easy, simple and modular prototyping. The language is implemented as an embedded language in Racket. We illustrate the approach with an execution level monad and a level-aware exception transformer. Semantic variations can be obtained through monad combinations. This work is also a first step towards a framework for controlling aspects with monads in the pointcut and advice model of AOP.