Skip to main content

A Compilation Model for Aspect-Oriented Polymorphically Typed Functional Languages

Chen, Kung and Weng, Shu-Chun and Wang, Meng and Khoo, Siau-Cheng and Chen, Chung-Hsin (2007) A Compilation Model for Aspect-Oriented Polymorphically Typed Functional Languages. In: Static Analysis 14th International Symposium. Lecture Notes in Computer Science . Springer, Berlin, Germany, pp. 34-51. ISBN 978-3-540-74060-5. E-ISBN 978-3-540-74061-2. (doi:10.1007/978-3-540-74061-2_3) (KAR id:47469)

PDF Author's Accepted Manuscript
Language: English
Click to download this file (254kB)
[thumbnail of local_143542.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL:


Introducing aspect orientation to a polymorphically typed functional language strengthens the importance of type-scoped advices; i.e., advices with their effects harnessed by type constraints. As types are typically treated as compile time entities, it is highly desirable to be able to perform static weaving to determine at compile time the chaining of type-scoped advices to their associated join points. In this paper, we describe a compilation model, as well as its implementation, that supports static type inference and static weaving of programs in an aspect-oriented polymorphically typed lazy functional language, AspectFun. We present a type-directed weaving scheme that coherently weaves type-scoped advices into the base program at compile time. We state the correctness of the static weaving with respect to the operational semantics of AspectFun. We also demonstrate how control-flow based pointcuts (such as cflowbelow) are compiled away, and highlight several type-directed optimization strategies that can improve the efficiency of woven code.

Item Type: Book section
DOI/Identification number: 10.1007/978-3-540-74061-2_3
Uncontrolled keywords: operational semantic; type inference; functional language; advice body; compliation model
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 75 Electronic computers. Computer science
Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Meng Wang
Date Deposited: 28 Feb 2015 16:18 UTC
Last Modified: 16 Nov 2021 10:19 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.