AspectScheme -- Aspects in Higher-Order Languages
This directory contains the code for various releases of
AspectScheme. The version 1 release implements the language
comprising the Science of Computer Programming; and version 2 release
implement the enhanced version alluded to in that paper.
A new release, AspectScheme 4, compatible with PLT Scheme 4 is now available. It is a plug-in language that can be selected from the "Choose language" option, in two levels:
- base which includes three aspect scopes:
- around
- fluid-around
- top-level-around
and the fundamental pointcuts:
- target
- args
- call?
- exec?
- adv?
- full which includes additional aspect combinations:
- before
- after
- after-throwing
- after-returning
for each scope, implemented using higher-order advice; and
an extended set of pointcuts, including:
- call
- exec
- adv
- cflowtop
- cflowbelow
- cflowabove
- cflowbottom
- within
and pointcut combinators:
A revised version for the PLaneT archive is in preparation.
Most users should probably rely on the
PLaneT Package
Repository to obtain this code. The various versions are
accessible from your PLT Scheme platform via
(require (planet "aspect-scheme.ss" ("cdutchyn" "aspect-scheme.plt" 1 1)))
or
(require (planet "aspect-scheme2.ss" ("cdutchyn" "aspect-scheme.plt" 2 1)))
depending on the desired version.
AspectScheme v.1.0--PLaneT release 1.0 (PLT 209)
AspectScheme v.1.1--PLaneT release 1.1
AspectScheme v.1.2
AspectScheme v.2.0
AspectScheme v.2.1
AspectScheme v.2.2--PLaneT release 2.0
AspectScheme v.2.3--PLaneT release 2.1
AspectScheme v.4.0--Installable language release 4.0(PLT 4.0.2)