A compilation model for aspect-oriented polymorphically typed functional languages

Kung Chen, Shu-Chun Weng, Meng Wang, Siau-Cheng Khoo, Chung-Hsin Chen

Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)

5 Citations (Scopus)
6 Downloads (Pure)


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.
Original languageEnglish
Title of host publicationSAS '07 Proceedings of the 14th International Symposium on Static Analysis
PublisherSpringer Berlin Heidelberg
Publication statusPublished - 2007


Dive into the research topics of 'A compilation model for aspect-oriented polymorphically typed functional languages'. Together they form a unique fingerprint.

Cite this