Memorias de investigación
Artículos en revistas:
A Proposal for Disequality Constraints in Curry
Año:2007

Áreas de investigación
  • Lenguaje de programación

Datos
Descripción
We describe the introduction of disequality constraints over algebraic data terms in the functional logic language Curry, and their implementation in Sloth, our Curry compiler. This addition extends the standard definition of Curry in several ways. On one hand, we provide a disequality counterpart to the constraint equality operator (=:=). Secondly, boolean equality operators are also redefined to cope with constructive disequality information, which leads to a more symmetric design w.r.t. the existing one. Semantically speaking, our implementation is very similar to previous proposals, although there are some novel aspects. One of them is that the implementation is partly based on an existing finite domain (FD) constraint solver, which provides a more efficient execution in some examples and, more important, the first complete implementation of disequality constraints over finite types. A detailed description of the finite type case is provided, including: i) the use of the FD solver; ii) an algorithm for analysing cardinality of types, and iii) how to deal with cardinality information at run time. Some benchmarks, an operational semantics minimally extending the one in the Curry draft, and a moderately detailed description of the implementation complete the paper.
Internacional
Si
JCR del ISI
No
Título de la revista
Electr. Notes Theor. Comput. Sci.
ISSN
1571-0661
Factor de impacto JCR
0
Información de impacto
Volumen
177
DOI
Número de revista
0
Desde la página
269
Hasta la página
285
Mes
JUNIO
Ranking

Esta actividad pertenece a memorias de investigación

Participantes
  • Autor: José María Rey Poza Telefónica I+D
  • Autor: Julio Mariño Carballo UPM
  • Autor: Emilio Jesús Gallego Arias Grupo BABEL, Facultad de Informática, UPM

Grupos de investigación, Departamentos, Centros e Institutos de I+D+i relacionados
  • Creador: Grupo de Investigación: BABEL: Desarrollo de Software Fiable y de Alta Calidad a partir de Tecnología Declarativa
  • Departamento: Lenguajes y Sistemas Informáticos e Ingeniería de Software