• Publications
  • Influence
A needed narrowing strategy
A notion of a needed narrowing step that is sound and complete for a large class of rewrite systems, is optimal w.r.t. the cost measure that counts the number of distinct steps of a derivation, computes only independent unifiers, and is efficiently implemented by pattern matching.
Curry: an integrated functional logic language (version 0
ion: A[x/τ ] ` e :: τ ′ A ` \x->e :: τ → τ ′ if τ is a type expression Existential: A[x/τ ] ` e :: τ ′ A ` let x free in e :: τ ′ if τ is a type expression Figure 1: Typing rules for Curry programs
Curry: An Integrated Functional Logic Language
ion: A[x/τ ] ` e :: τ ′ A ` \x->e :: τ → τ ′ if τ is a type expression Existential: A[x/τ ] ` e :: Success A ` let x free in e :: Success if τ is a type expression Conditional: A ` e1 :: Bool A ` e2
Xbase: implementing domain-specific languages for Java
The application of Xbase is presented by means of a domain model language which serves as a tutorial example and by the implementation of the programming language Xtend, a functional and object-oriented general purpose language for the Java Virtual Machine (JVM).
A unified computation model for functional and logic programming
A new computation model which combines the operational principles of functional languages (reduction), logic languages, and integrated functional logic languages (residuation and narrowing) and is a suitable basis for future declarative programming languages.
Higher-Order Narrowing with Definitional Trees
This paper extends the needed narrowing strategy to higher-order functions and λ-terms as data structures and is the first calculus for higher- order functional logic programming which provides for such an optimality result.
Curry: A Truly Functional Logic Language
The functional logic language Curry is proposed which can deal as a standard language in this area and includes important ideas of existing functional logic languages and recent developments, and combines the most important features of functional and logic languages.
Multi-paradigm Declarative Languages
  • M. Hanus
  • Computer Science
  • 8 September 2007
This paper surveys approaches to combine different classes of declarative languages, like functional, logic, or constraint programming languages, into a single programming language.