Type-directed weaving of aspects for higher-order functional languages

Meng Wang, Kung Chen, Siau-Cheng Khoo

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

13 Citations (Scopus)
6 Downloads (Pure)

Abstract

Aspect-oriented programming (AOP) has been shown to be a useful model for software development. Special care must be taken when we try to adapt AOP to strongly typed functional languages which come with features like a type inference mechanism, polymorphic types, higher-order functions and type-scoped pointcuts. Our main contribution lies in a seamless integration of these two paradigms through a static weaving process which deals with around advices with type-scoped pointcuts in the presence of higher-order functions. We give a source-level type inference system for a higher-order, polymorphic language coupled with type-scoped pointcuts. The type system ensures that base programs are oblivious to the type of around advices. We present a type-directed translation scheme which resolves all advice applications at static time. The translation removes advice declarations from source programs and produces translated code which is typable in the Hindley-Milner system.
Original languageEnglish
Title of host publicationPEPM '06 Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
PublisherAssociation for Computing Machinery (ACM)
Pages78-87
DOIs
Publication statusPublished - 2006

Keywords

  • aspect oriented
  • functional language
  • higher-order
  • type inference
  • weaving

Fingerprint Dive into the research topics of 'Type-directed weaving of aspects for higher-order functional languages'. Together they form a unique fingerprint.

Cite this