Specialization of functional logic programs based on needed narrowing.

Saved in:
Bibliographic Details
Title: Specialization of functional logic programs based on needed narrowing.
Authors: MARÍA ALPUENTE1, SALVADOR LUCAS1, GERMÁN VIDAL1, MICHAEL HANUS2
Source: Theory & Practice of Logic Programming. May2005, Vol. 5 Issue 3, p273-303. 31p.
Subjects: Logic programming languages, Multiparadigm programming (Computer science), Computer programming, Logic programming, Evaluation
Abstract: Many functional logic languages are based on narrowing, a unification-based goal-solving mechanism which subsumes the reduction mechanism of functional languages and the resolution principle of logic languages. Needed narrowing is an optimal evaluation strategy which constitutes the basis of modern (narrowing-based) lazy functional logic languages. In this work, we present the fundamentals of partial evaluation in such languages. We provide correctness results for partial evaluation based on needed narrowing and show that the nice properties of this strategy are essential for the specialization process. In particular, the structure of the original program is preserved by partial evaluation and, thus, the same evaluation strategy can be applied for the execution of specialized programs. This is in contrast to other partial evaluation schemes for lazy functional logic programs which may change the program structure in a negative way. Recent proposals for the partial evaluation of declarative multi-paradigm programs use (some form of) needed narrowing to perform computations at partial evaluation time. Therefore, our results constitute the basis for the correctness of such partial evaluators. [ABSTRACT FROM AUTHOR]
Copyright of Theory & Practice of Logic Programming is the property of Cambridge University Press and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 20139382
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Specialization of functional logic programs based on needed narrowing.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22MARÍA+ALPUENTE%22">MARÍA ALPUENTE</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22SALVADOR+LUCAS%22">SALVADOR LUCAS</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22GERMÁN+VIDAL%22">GERMÁN VIDAL</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22MICHAEL+HANUS%22">MICHAEL HANUS</searchLink><relatesTo>2</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Theory+%26+Practice+of+Logic+Programming%22">Theory & Practice of Logic Programming</searchLink>. May2005, Vol. 5 Issue 3, p273-303. 31p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Logic+programming+languages%22">Logic programming languages</searchLink><br /><searchLink fieldCode="DE" term="%22Multiparadigm+programming+%28Computer+science%29%22">Multiparadigm programming (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+programming%22">Computer programming</searchLink><br /><searchLink fieldCode="DE" term="%22Logic+programming%22">Logic programming</searchLink><br /><searchLink fieldCode="DE" term="%22Evaluation%22">Evaluation</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Many functional logic languages are based on narrowing, a unification-based goal-solving mechanism which subsumes the reduction mechanism of functional languages and the resolution principle of logic languages. Needed narrowing is an optimal evaluation strategy which constitutes the basis of modern (narrowing-based) lazy functional logic languages. In this work, we present the fundamentals of partial evaluation in such languages. We provide correctness results for partial evaluation based on needed narrowing and show that the nice properties of this strategy are essential for the specialization process. In particular, the structure of the original program is preserved by partial evaluation and, thus, the same evaluation strategy can be applied for the execution of specialized programs. This is in contrast to other partial evaluation schemes for lazy functional logic programs which may change the program structure in a negative way. Recent proposals for the partial evaluation of declarative multi-paradigm programs use (some form of) needed narrowing to perform computations at partial evaluation time. Therefore, our results constitute the basis for the correctness of such partial evaluators. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Theory & Practice of Logic Programming is the property of Cambridge University Press and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=20139382
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1017/S1471068404002303
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 31
        StartPage: 273
    Subjects:
      – SubjectFull: Logic programming languages
        Type: general
      – SubjectFull: Multiparadigm programming (Computer science)
        Type: general
      – SubjectFull: Computer programming
        Type: general
      – SubjectFull: Logic programming
        Type: general
      – SubjectFull: Evaluation
        Type: general
    Titles:
      – TitleFull: Specialization of functional logic programs based on needed narrowing.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: MARÍA ALPUENTE
      – PersonEntity:
          Name:
            NameFull: SALVADOR LUCAS
      – PersonEntity:
          Name:
            NameFull: GERMÁN VIDAL
      – PersonEntity:
          Name:
            NameFull: MICHAEL HANUS
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 05
              Text: May2005
              Type: published
              Y: 2005
          Identifiers:
            – Type: issn-print
              Value: 14710684
          Numbering:
            – Type: volume
              Value: 5
            – Type: issue
              Value: 3
          Titles:
            – TitleFull: Theory & Practice of Logic Programming
              Type: main
ResultId 1