| Home > Publications > Reports > Informatics (CW) |
CW 315
B. Demoen, M. Garcia de la Banda, P. Stuckey
Type class support for HAL in hProlog
Abstract
The HAL language has been recently extended to support type classes. As a result, compilation to its Prolog back-end has also been modified to support type classes. Prolog has enough builtins to make such support readily possible, but the performance penalty seemed high enough to investigate alternatives. The aim of this paper is to experiment with different levels of support in order to reduce the overhead. In particular, we consider transformations at the source-to-source level, at the abstract machine code level, transformations allowed by the introduction of special purpose built-in predicates, and even those allowed by using knowledge about the determinacy of HAL predicates. All experiments were performed using the hProlog language, whose compiler can be modified by the authors. While Mercury has dealt with type classes in a successful way, studying these issues within the Prolog and WAM setting is new.
report.pdf / mailto: B. Demoen
