Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1273920.1273947acmconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
Article

A simple rewrite notion for call-time choice semantics

Published: 14 July 2007 Publication History

Abstract

Non-confluent and non-terminating rewrite systems are interesting from the point of view of programming. In particular, existing functional logic languages use such kind of rewrite systems to define possibly non-strict non-deterministic functions. The semantics adopted for non-determinism is call-time choice, whose combination with non-strictness is not a trivial issue that has been addressed from a semantic point of view in the Constructor-based Rewriting Logic (CRWL) framework. We investigate here how to express call-time choice and non-strict semantics from a point of view closer to classical rewriting. The proposed notion of rewriting uses an explicit representation for sharing with let-constructions and is proved to be equivalent to the CRWL approach. Moreover, we relate this let-rewriting relation (and hence CRWL) with ordinary rewriting, providing in particular soundness and completeness of let-rewriting with respect to rewriting for a class of programs which are confluent in a certain semantic sense.

References

[1]
E. Albert, M. Hanus, F. Huch, J. Oliver, and G. Vidal. perational semantics for declarative multi-paradigm languages. Journal of Symbolic Computation, 40(1):795--829, 2005.
[2]
S. Antoy. Evaluation strategies for functional logic programming. Electronic Notes in Theoretical Computer Science, 57, 2001.
[3]
S. Antoy, D. Brown, and S. Chiang. Lazy context cloning for nondeterministic graph rewriting. In Proc. of the 3rd International Workshop on Term Graph Rewriting, Termgraph'06, pages 61--70, Vienna, Austria, April 2006. To appear in ENTCS.
[4]
S. Antoy, R. Echahed, and M. Hanus. A needed narrowing strategy. J. ACM, 47(4):776--822, 2000.
[5]
S. Antoy and M. Hanus. Overlapping rules and logic variables in functional logic programs. In Twenty Second International Conference on Logic Programming, pages 87--101, Seattle, WA, Aug. 2006. Springer LNCS 4079.
[6]
R. Echahed and J.-C. Janodet. On constructor-based graph rewriting systems. Research Report 985-I, IMAG, 1997.
[7]
R. Echahed and J.-C. Janodet. Admissible graph rewriting and narrowing. In Proceedings of the Joint International Conference and Symposium on Logic Programming, pages 325--340, Manchester, June 1998. MIT Press.
[8]
J. González-Moreno, M. Hortalá-González, and M. Rodríguez-Artalejo. A higher order rewriting logic for functional logic programming. In Proc. International Conference on Logic Programming (ICLP'97), pages 153--167. MIT Press, 1997.
[9]
J. C. González-Moreno, T. Hortalá-González, F. López-Fraguas, and M. Rodríguez-Artalejo. A rewriting logic for declarative programming. In Proc. European Symposium on Programming (ESOP'96), pages 156--172. Springer LNCS 1058, 1996.
[10]
J. C. González-Moreno, T. Hortalá-González, F. López-Fraguas, and M. Rodríguez-Artalejo. An approach to declarative programming based on a rewriting logic. Journal of Logic Programming, 40(1):47--87, 1999.
[11]
M. Hanus. Functional logic programming: From theory to Curry. Technical report, Christian-Albrechts-Universität Kiel, 2005.
[12]
M. Hanus (ed.). Curry: An integrated functional logic language (version 0.8.2). Available at http://www.informatik.unikiel.de/~curry/report.html, March 2006.
[13]
H. Hussmann. Non-Determinism in Algebraic Specifications and Algebraic Programs. Birkhäuser Verlag, 1993.
[14]
J. Launchbury. A natural semantics for lazy evaluation. In Proc. ACM Symposium on Principles of Programming Languages (POPL'93), pages 144--154. ACM Press, 1993.
[15]
F. López-Fraguas, J. Rodríguez-Hortalá, and J. Sánchez-Hernández. Relating two semantic descriptions of functional logic programs. In Proc. Jornadas sobre Programación y Lenguajes (PROLE'06), pages 31--40. CINME, 2006.
[16]
F. López-Fraguas and J. Sánchez-Hernández. T OY: A multiparadigm declarative system. In Proc. Rewriting Techniques and Applications (RTA'99), pages 244--247. Springer LNCS 1631, 1999.
[17]
F. López-Fraguas and J. Sánchez-Hernández. Functional logic programming with failure: A set-oriented view. In Proc. International Conference on Logic for Programming and Automated Reasoning (LPAR'01), pages 455--469. Springer LNAI 2250, 2001.
[18]
J. Maraist, M. Odersky, and P. Wadler. The call-by-need lambda calculus. J. Funct. Program., 8(3):275--317, 1998.
[19]
M. Marin and A. Middeldorp. New completeness results for lazy conditional narrowing. In PPDP, pages 120--131, 2004.
[20]
D. Plump. Essentials of term graph rewriting. Electr. Notes Theor. Comput. Sci., 51, 2001.
[21]
M. Rodríguez-Artalejo. Functional and constraint logic programming. In Revised Lectures of the International Summer School CCL'99, pages 202--270. Springer LNCS 2002, 2001.
[22]
J. Sánchez-Hernández. Una aproximación al fallo constructivo en programación declarativa multiparadigma. PhD thesis, DSIP-UCM, June 2004.
[23]
H. Søndergaard and P. Sestoft. Non-determinism in functional languages. The Computer Journal, 35(5):514--523, 1992.
[24]
R. d. Vado-Vírseda. A demand-driven narrowing calculus with overlapping definitional trees. In Proc. ACM SIGPLAN Conf. on Principles and Practice of Declarative Programming (PPDP'03), pages 213--227. ACM Press, 2003.

Cited By

View all
  • (2023)The Verse Calculus: A Core Calculus for Deterministic Functional Logic ProgrammingProceedings of the ACM on Programming Languages10.1145/36078457:ICFP(417-447)Online publication date: 31-Aug-2023
  • (2019)Synthesizing Set FunctionsFunctional and Constraint Logic Programming10.1007/978-3-030-16202-3_6(93-111)Online publication date: 16-Mar-2019
  • (2018)Strict and lazy semantics for effects: layering monads and comonadsProceedings of the ACM on Programming Languages10.1145/32367832:ICFP(1-30)Online publication date: 30-Jul-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPDP '07: Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
July 2007
240 pages
ISBN:9781595937698
DOI:10.1145/1273920
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 July 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. constructor-based rewriting logic
  2. functional-logic programming
  3. local bindings
  4. non-determinism calltime choice semantics
  5. sharing
  6. term rewriting systems

Qualifiers

  • Article

Conference

PPDP07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 230 of 486 submissions, 47%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)The Verse Calculus: A Core Calculus for Deterministic Functional Logic ProgrammingProceedings of the ACM on Programming Languages10.1145/36078457:ICFP(417-447)Online publication date: 31-Aug-2023
  • (2019)Synthesizing Set FunctionsFunctional and Constraint Logic Programming10.1007/978-3-030-16202-3_6(93-111)Online publication date: 16-Mar-2019
  • (2018)Strict and lazy semantics for effects: layering monads and comonadsProceedings of the ACM on Programming Languages10.1145/32367832:ICFP(1-30)Online publication date: 30-Jul-2018
  • (2018)Equivalence Checking of Non-deterministic OperationsFunctional and Logic Programming10.1007/978-3-319-90686-7_10(149-165)Online publication date: 24-Apr-2018
  • (2016)Eliminating Irrelevant Non-determinism in Functional Logic ProgramsPractical Aspects of Declarative Languages10.1007/978-3-319-51676-9_1(1-18)Online publication date: 17-Dec-2016
  • (2014)Compiling a Functional Logic Language: The Fair SchemeLogic-Based Program Synthesis and Transformation10.1007/978-3-319-14125-1_12(202-219)Online publication date: 11-Dec-2014
  • (2013)Functional Logic Programming: From Theory to CurryProgramming Logics10.1007/978-3-642-37651-1_6(123-168)Online publication date: 2013
  • (2012)Contracts and specifications for functional logic programmingProceedings of the 14th international conference on Practical Aspects of Declarative Languages10.1007/978-3-642-27694-1_4(33-47)Online publication date: 23-Jan-2012
  • (2011)KiCS2Proceedings of the 20th international conference on Functional and constraint logic programming10.5555/2032603.2032605(1-18)Online publication date: 19-Jul-2011
  • (2011)A semantics for lazy assertionsProceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation10.1145/1929501.1929527(141-150)Online publication date: 24-Jan-2011
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media