Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
research:software:haskellaop [2012/09/26 15:13] ifigueroresearch:software:haskellaop [2013/01/03 17:58] ifiguero
Line 4: Line 4:
  
 ====== Source Code ====== ====== Source Code ======
-The source can be downloaded {{:research:software:aop1.zip | here}}. See the included README file for details. We tested the software in the [[http://hackage.haskell.org/platform/|Haskell Platform]] version 2012.2.0.0. 
  
-The code depends on the following packages: random mtlHUnitQuickCheckcontainershaskell-src-metatemplate-haskell,                polytypeable, and ghc-prim, which can be installed using the [[http://www.haskell.org/haskellwiki/Cabal-Install | cabal package manager]] included with the Haskell Platform.+===== Original code from AOSD 2013 ===== 
 +The original source of the AOSD 2013 paper can be downloaded {{:research:software:aop2.zip | here}}. See the included README file for details. 
 + 
 +===== Taming Aspects with Monads and Membranes ===== 
 +The source of our FOAL 2013 submission can be downloaded {{:research:software:aomonad-foal13.zip | here}}. This is an updated revision of the previous code with programmable membranes semantics for aspect-oriented programming. See the included README and README-FOAL file for details. 
 + 
 +====== About the Code ====== 
 + 
 +We tested the software in the [[http://hackage.haskell.org/platform/|Haskell Platform]] version 2012.2.0.0. Consequently, we used the Glasgow Haskell Compiler, GHC, with the following [[http://pleiad.dcc.uchile.cl/research/software/haskellaop/ghc-extensions|extensions]]. 
 + 
 +The code depends on the following packages: 
 +  * random 
 +  mtl 
 +  * HUnit 
 +  * QuickCheck 
 +  * containers 
 +  * haskell-src-meta 
 +  * template-haskell 
 +  * polytypeable 
 +  * ghc-prim 
 +  * fgl (functional graph libraryfor the membrane semantics) 
 + 
 +Which can be installed using the [[http://www.haskell.org/haskellwiki/Cabal-Install | cabal package manager]] included with the Haskell Platform.
  
 We include the paper examples, and tests used during development. The main difference between the code in the paper and the source code are: We include the paper examples, and tests used during development. The main difference between the code in the paper and the source code are:
  
-  * deployment/undeploy: we define the AOPMonad class with the deploy/undeploy top-level operations. These functions use the underlying deployInEnv / undeployInEnv functions defined by type class MonadDeploy.+  * deployment/undeployment: we define the AOPMonad class with the deploy/undeploy top-level operations. These functions use the underlying deployInEnv / undeployInEnv functions defined by type class MonadDeploy.
  
   * In file Function.hs we define tagged functions to provide a more robust notion of function equality. Join points, open function application, and weaving are modified to accept this new kind of functions.   * In file Function.hs we define tagged functions to provide a more robust notion of function equality. Join points, open function application, and weaving are modified to accept this new kind of functions.