Abstract
Functional logic overloading is a novel approach to user-defined overloading that extends Haskell's concept of type classes in significant ways. Whereas type classes are conceptually predicates on types in standard Haskell, they are
type functions
in our approach. Thus, we can base type inference on the evaluation of functional logic programs. Functional logic programming provides a solid theoretical foundation for type functions and, at the same time, allows for programmable overloading resolution strategies by choosing different evaluation strategies for functional logic programs. Type inference with type functions is an instance of type inference with constrained types, where the underlying constraint system is defined by a functional logic program. We have designed a variant of Haskell which supports our approach to overloading, and implemented a prototype front-end for the language.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference49 articles.
1. L. Augustsson. Implementing Haskell overloading. In]] 10.1145/165180.165191 L. Augustsson. Implementing Haskell overloading. In]] 10.1145/165180.165191
2. L. Augustsson. Cayenne-a language with dependent types. In Hudak {23}.]] 10.1145/289423.289451 L. Augustsson. Cayenne-a language with dependent types. In Hudak {23}.]] 10.1145/289423.289451
3. Parametric type classes
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献