Skip to main content
Kent Academic Repository

Aspect-Oriented Programming with Type Classes

Sulzmann, Martin and Wang, Meng (2007) Aspect-Oriented Programming with Type Classes. In: FOAL '07 Proceedings of the 6th workshop on Foundations of aspect-oriented languages. ICPS: ACM International Conference Proceeding Series . ACM, pp. 65-74. ISBN 978-1-59593-671-4. (doi:10.1145/1233833.1233842) (KAR id:47468)

Abstract

We consider the problem of adding aspects to a strongly typed language which supports type classes. We show that type classes as supported by the Glasgow Haskell Compiler can model an AOP style of programming via a simple syntax-directed transformation scheme where AOP programming idioms are mapped to type classes. The drawback of this approach is that we cannot easily advise functions in programs which carry type annotations. We sketch a more principled approach which is free of such problems by combining ideas from intentional type analysis with advanced overloading resolution strategies. Our results show that type-directed static weaving is closely related to type class resolution -- the process of typing and translating type class programs.

Item Type: Book section
DOI/Identification number: 10.1145/1233833.1233842
Uncontrolled keywords: Aspect-Oriented, Type Classes, Functional Programming
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:06 UTC
Last Modified: 16 Nov 2021 10:19 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/47468 (The current URI for this page, for reference purposes)

University of Kent Author Information

Wang, Meng.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

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