A syntactic approach to combining functional notation, lazy evaluation, and higher-order in LP systems


Autoria(s): Casas, Amadeo; Cabeza Gras, Daniel; Hermenegildo, Manuel V.
Data(s)

2006

Resumo

Nondeterminism and partially instantiated data structures give logic programming expressive power beyond that of functional programming. However, functional programming often provides convenient syntactic features, such as having a designated implicit output argument, which allow function cali nesting and sometimes results in more compact code. Functional programming also sometimes allows a more direct encoding of lazy evaluation, with its ability to deal with infinite data structures. We present a syntactic functional extensión, used in the Ciao system, which can be implemented in ISO-standard Prolog systems and covers function application, predefined evaluable functors, functional definitions, quoting, and lazy evaluation. The extensión is also composable with higher-order features and can be combined with other extensions to ISO-Prolog such as constraints. We also highlight the features of the Ciao system which help implementation and present some data on the overhead of using lazy evaluation with respect to eager evaluation.

Formato

application/pdf

Identificador

http://oa.upm.es/14350/

Idioma(s)

eng

Publicador

Facultad de Informática (UPM)

Relação

http://oa.upm.es/14350/1/HERME_ARC_2006-7.pdf

http://link.springer.com/chapter/10.1007%2F11737414_11

Direitos

http://creativecommons.org/licenses/by-nc-nd/3.0/es/

info:eu-repo/semantics/openAccess

Fonte

Functional and Logic Programming | Functional and Logic Programming Functional and Logic Programming 8th International Symposium, FLOPS 2006 | April 24-26, 2006 | Fuji-Susono, Japan

Palavras-Chave #Informática
Tipo

info:eu-repo/semantics/conferenceObject

Ponencia en Congreso o Jornada

PeerReviewed