A Practical Monadic Aspect Weaver

This is the support page for our paper submitted to FOAL'12. Here you can download Monascheme, our monadic aspect weaver implemented on Racket.


Download Monascheme 1.0 here


In the Monascheme1.0 folder, open test-suite.rkt inside DrRacket. Then, press Run to execute all the tests. The software is composed of the following files:

  • monascheme-core.rkt : contains the implementation of the monadic weaver, join point stack management and scoped aspect deployment
  • common-types.rkt and monad.rkt : are support files for the software, containing definition of common types and structs.
  • test.rkt : provides facilities for testing. Used by test-suite.rkt
  • untyped-weve.rkt: the untyped module that applies the weaving process.
  • EL-semantics.rkt: the execution levels module
  • EL-LA-semantics.rkt: the execution levels with level-aware exceptions module

Monascheme is by default configured to use the EL-LA semantics. You can change this in monascheme-core.rkt.