Skip to main content

Type-Directed Weaving of Aspects for Polymorphically Typed Functional Languages

Chen, Kung, Weng, Shu-Chun, Wang, Meng, Khoo, Siau-Cheng, Chen, Chung-Hsin (2010) Type-Directed Weaving of Aspects for Polymorphically Typed Functional Languages. Science of Computer Programming, 75 (11). pp. 1048-1076. ISSN 0167-6423. (doi:10.1016/j.scico.2010.04.001) (KAR id:47475)

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


Incorporating aspect-oriented paradigm to a polymorphically typed functional

language enables the declaration of type-scoped advice, in which the

effect of an aspect can be harnessed by introducing possibly polymorphic

type constraints to the aspect. The amalgamation of aspect orientation and

functional programming enables quick behavioral adaption of functions, clear

separation of concerns and expressive type-directed programming. However,

proper static weaving of aspects in polymorphic languages with a type-erasure

semantics remains a challenge. In this paper, we describe a type-directed

static weaving strategy, as well as its implementation, that supports

static type inference and static weaving of programs written in an aspect-oriented

polymorphically typed functional language, AspectFun. We show

examples of type-scoped advice, identify the challenges faced with compile-time

weaving in the presence of type-scoped advice, and demonstrate how

various advanced aspect features can be handled by our techniques. Lastly,

we prove the correctness of the static weaving strategy with respect to the

operational semantics of AspectFun.

Item Type: Article
DOI/Identification number: 10.1016/j.scico.2010.04.001
Uncontrolled keywords: Aspect-oriented programming, Type-scoped advice, Static weaving, Polymorphically-typed functional language
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 21:30 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.