Results 1 
4 of
4
HM(X) Type Inference is CLP(X) Solving
 UNDER CONSIDERATION FOR PUBLICATION IN J. FUNCTIONAL PROGRAMMING
"... The HM(X) system is a generalization of the Hindley/Milner system parameterized in the constraint domain X. Type inference is performed by generating constraints out of the program text which are then solved by the domain specific constraint solver X. The solver has to be invoked at the latest when ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
The HM(X) system is a generalization of the Hindley/Milner system parameterized in the constraint domain X. Type inference is performed by generating constraints out of the program text which are then solved by the domain specific constraint solver X. The solver has to be invoked at the latest when type inference reaches a let node so that we can build a polymorphic type. A typical example of such an inference approach is Milner’s algorithm W. We formalize an inference approach where the HM(X) type inference problem is first mapped to a CLP(X) program. The actual type inference is achieved by executing the CLP(X) program. Such an inference approach supports the uniform construction of type inference algorithms and has important practical consequences when it comes to reporting type errors. The CLP(X) style inference system where X is defined by Constraint Handling Rules is implemented as part of the Chameleon system.
AspectOriented Programming with Type Classes
, 2006
"... We study aspectoriented programming (AOP) in the context of the strongly typed language Haskell. We show how to support AOP via a straightforward type class encoding. Our main result is that typedirected static weaving of AOP programs can be directly expressed in terms of type class resolution – th ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We study aspectoriented programming (AOP) in the context of the strongly typed language Haskell. We show how to support AOP via a straightforward type class encoding. Our main result is that typedirected static weaving of AOP programs can be directly expressed in terms of type class resolution – the process of typing and translating type class programs. We provide two implementation schemes. One scheme is based on type classes as available in the Glasgow Haskell Compiler. The other, more expressive scheme, relies on an experimental type class system. Our results shed new light on AOP in the context of languages with rich type systems.
Reflections on complexity of ML type reconstruction
, 1997
"... This is a collection of some more or less chaotic remarks on the ML type system, definitely not sufficient to fill a research paper of reasonable quality, but perhaps interesting enough to be written down as a note. At the beginning the idea was to investigate the complexity of type reconstruction a ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
This is a collection of some more or less chaotic remarks on the ML type system, definitely not sufficient to fill a research paper of reasonable quality, but perhaps interesting enough to be written down as a note. At the beginning the idea was to investigate the complexity of type reconstruction and typability in bounded order fragments of ML. Unexpectedly the problem turned out to be hard, and finally I obtained only partial results. I do not feel like spending more time on this topic, so the text is not polished, the proofs  if included at all  are only sketched and of rather poor mathematical quality. I believe however, that some remarks, especially those of "philosophical" nature, shed some light on the ML type system and may be of some value to the reader interested especially in the interaction between theory and practice of ML type reconstruction. 1 Introduction The ML type system was developed by Robin Milner in the late seventies [26, 3], but was influenced by much ol...
General Terms Languages, theory
"... 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 syntaxdirected transformation scheme where AOP programming idioms ar ..."
Abstract
 Add to MetaCart
(Show Context)
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 syntaxdirected 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 typedirected static weaving is closely related to type class resolution the process of typing and translating type class programs. Categories and Subject Descriptors D.3.1 [Programming Languages]: Formal Definitions and TheorySemantics; F.3.2 [Logics and Meanings of Programs]: Semantics of Programming LanguagesOperational semantics