Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article
Free access

Functional logic programming

Published: 01 April 2010 Publication History

Abstract

Combining the paradigm features of both logic and functional programming makes for some powerful implementations.

References

[1]
Albert, E., Hanus, M. and Vidal, G. A practical partial evaluator for a multi-paradigm declarative language. J. Functional and Logic Programming 1 (2002).
[2]
Antoy, S. Definitional trees. In Proceedings of the 3rd International Conference on Algebraic and Logic Programming. Springer LNCS 632, 1992, 143--157.
[3]
Antoy, S. Constructor-based conditional narrowing. In Proceedings of the 3rd International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming. ACM Press, 2001, 199--206.
[4]
Antoy, S. Evaluation strategies for functional logic programming. J. Symbolic Computation 40, 1 (2005), 875--903.
[5]
Antoy, S., Echahed, R. and Hanus, M. A needed narrowing strategy. J. ACM, 47, 4 (2000), 776--822.
[6]
Antoy, S. and Hanus, M. Functional logic design patterns. In Proceedings of the 6th International Symposium on Functional and Logic. Springer LNCS 2441, 2002, 67--87.
[7]
Antoy, S. and Hanus, M. Declarative programming with function patterns. In Proceedings of the International Symposium on Logic-based Program Synthesis and Transformation. Springer LNCS 3901, 2005, 6--22.
[8]
Antoy, S. and Hanus, M. Overlapping rules and logic variables in functional logic programs. In Proceedings of the 22nd International Conference on Logic Programming. Springer LNCS 4079, 2006, 87--101.
[9]
Bezem, M., Klop, J.W. and de Vrijer, R. (eds.). Term Rewriting Systems. Cambridge University Press, 2003.
[10]
Braßel, B., Fischer, S., Hanus, M., Huch, F. and Vidal, G. Lazy call-by-value evaluation. In Proceedings of the 12th ACM SIGPLAN International Conference on Functional Programming. ACM Press, 2007, 265--276.
[11]
Braßel, B., Hanus, M., Huch, F., Silva, J. and Vidal, G. Run-time profiling of functional logic programs. In Proceedings of the International Symposium on Logic-based Program Synthesis and Transformation. Springer LNCS 3573, 2005, 182--197.
[12]
Braßel, B., Hanus, M., and Müller, M. High-level database programming in Curry. In Proceedings of the 10th International Symposium on Practical Aspects of Declarative Languages. Springer LNCS 4902, 2008, 316--332.
[13]
Braßel, B. and Huch, F. On a tighter integration of functional and logic programming. In Proceedings of APLAS 2007. Springer LNCS 4807, 2007, 122--138.
[14]
Casas, A., Cabeza, D., and Hermenegildo, M.V. A syntactic approach to combining functional notation, lazy evaluation, and higher-order in LP systems. In Proc. of the 8th International Symposium on Functional and Logic Programming. Springer LNCS 3945, 2006, 146--162.
[15]
Claessen, K. and Ljunglöf, P. Typed logical variables in Haskell. In Proceedings ACM SIGPLAN Haskell Workshop, Montreal, 2000.
[16]
Cleva, J.M., Leach, J., and López-Fraguas, F.J. A logic programming approach to the verification of functional-logic programs. In Proceedings of the 6th International ACM SIGPLAN Conference on Principles and Practice of Declarative Programming. ACM Press, 2004, 9--19.
[17]
Fischer, S. and Kuchen, H. Systematic generation of glass-box test cases for functional logic programs. In Proceedings of the 9th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming. ACM Press, 2007, 75--89.
[18]
García de la Banda, M.J., Demoen, B., Marriott, K. and Stuckey, P.J. To the gates of HAL: A HAL tutorial. In Proceedings of the 6th International Symposium on Functional and Logic Programming. Springer LNCS 2441, 2002, 47--66.
[19]
González-Moreno, J.C., Hortalá-González, M.T., López-Fraguas, F.J. and Rodríguez-Artalejo, M. An approach to declarative programming based on a rewriting logic. Journal of Logic Programming, 1999, 40--47.
[20]
Hanus, M. Teaching functional and logic programming with a single computation model. In Proceedings of the 9th International Symposium on Programming Languages, Implementations, Logics, and Programs. Springer LNCS 1292, 1997, 335--350.
[21]
Hanus, M. Type-oriented construction of Web user interfaces. In Proceedings of the 8th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming. ACM Press, 2006, 27--38.
[22]
Hanus, M. Multi-paradigm declarative languages. In Proceedings of the International Conference on Logic Programming. Springer LNCS 4670, 2007, 45--75.
[23]
Hanus, M. Call pattern analysis for functional logic programs. In Proceedings of the 10th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming. ACM Press, 2008, 67--78.
[24]
Hanus, M. and Höppner, K. Programming autonomous robots in Curry. Electronic Notes in Theoretical Computer Science, 76, 2002.
[25]
Hanus, M. and Huch, F. An open system to support Web-based learning. In Proceedings 12th International Workshop on Functional and (Constraint) Logic Programming, 2003, 269--282.
[26]
Hanus, M. and Kluß, C. Declarative programming of user interfaces. In Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages. Springer LNCS 5418, 2009, 16--30.
[27]
Hanus, M., Ed. Curry: An integrated functional logic language (vers. 0.8.2, 2006); http://www.curry-language.org/.
[28]
Hussmann, H. Nondeterministic algebraic specifications and nonconfluent term rewriting. Journal of Logic Programming, 1992, 237--255.
[29]
Lloyd. J. Programming in an integrated functional and logic language. J. Functional and Logic Programming 3, 1 (1999), 1--49.
[30]
López-Fraguas, F. and Sánchez-Hernández, J. TOY: A multiparadigm declarative system. In Proceedings of RTA'99. Springer LNCS 1631, 1999, 244--247.
[31]
Lux, W. Implementing encapsulated search for a lazy functional logic language. In Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming. Springer LNCS 1722, 1999, 100--113.
[32]
Milner, R., Tofte, M. and Harper, R. The Definition of Standard ML. MIT Press, 1990.
[33]
Okasaki, C. Purely Functional Data Structures. Cambridge University Press, 1998.
[34]
Peyton Jones, S. (Ed). Haskell 98 Language and Libraries---The Revised Report. Cambridge University Press, 2003.
[35]
Reddy, U.S. Narrowing as the operational semantics of functional languages. In Proceedings of the IEEE International Symposium on Logic in Computer Science (Boston, 1985), 138--151.
[36]
Sheard, T. Type-level computation using narrowing in mega. Electron. Notes Theor. Comput. Sci. 174, 7 (2007), 105--128.
[37]
Slagle, J.R. Automated theorem-proving for theories with simplifiers, commutativity, and associativity. J. ACM 21, 4 (1974), 622--642.
[38]
Smolka, G. The Oz programming model. Computer Science Today: Recent Trends and Developments. J. van Leeuwen (Ed). Springer LNCS 1000, 1995, 324--343.
[39]
Somogyi, Z., Henderson, F., and Conway, T. The execution algorithm of Mercury, an efficient purely declarative logic programming language. J. Logic Programming 29, 1--3 (1996), 17--64.

Cited By

View all
  • (2024)Inferring Non-failure Conditions for Declarative ProgramsFunctional and Logic Programming10.1007/978-981-97-2300-3_10(167-187)Online publication date: 15-May-2024
  • (2024)Improving Logic Programs by Adding FunctionsLogic-Based Program Synthesis and Transformation10.1007/978-3-031-71294-4_2(27-44)Online publication date: 9-Sep-2024
  • (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
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 53, Issue 4
April 2010
131 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/1721654
Issue’s Table of Contents
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 2010
Published in CACM Volume 53, Issue 4

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)318
  • Downloads (Last 6 weeks)37
Reflects downloads up to 01 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Inferring Non-failure Conditions for Declarative ProgramsFunctional and Logic Programming10.1007/978-981-97-2300-3_10(167-187)Online publication date: 15-May-2024
  • (2024)Improving Logic Programs by Adding FunctionsLogic-Based Program Synthesis and Transformation10.1007/978-3-031-71294-4_2(27-44)Online publication date: 9-Sep-2024
  • (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
  • (2023)Embedding Functional Logic Programming in Haskell via a Compiler PluginPractical Aspects of Declarative Languages10.1007/978-3-031-24841-2_3(37-55)Online publication date: 16-Jan-2023
  • (2022)The Semantics of PluralsProceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3567512.3567516(36-54)Online publication date: 29-Nov-2022
  • (2022)A Monadic Implementation of Functional Logic ProgramsProceedings of the 24th International Symposium on Principles and Practice of Declarative Programming10.1145/3551357.3551370(1-15)Online publication date: 20-Sep-2022
  • (2022)From Logic to Functional Logic ProgramsTheory and Practice of Logic Programming10.1017/S147106842200018722:4(538-554)Online publication date: 4-Jul-2022
  • (2022)Fifty Years of Prolog and BeyondTheory and Practice of Logic Programming10.1017/S147106842200010222:6(776-858)Online publication date: 17-May-2022
  • (2022)Algeo: An Algebraic Approach to ReversibilityReversible Computation10.1007/978-3-031-09005-9_9(128-145)Online publication date: 5-Jul-2022
  • (2022)HornSAT Solver Using Agent-Based Modelling in Hopfield NetworkIntelligent Systems Modeling and Simulation II10.1007/978-3-031-04028-3_17(251-263)Online publication date: 13-Oct-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

Magazine Site

View this article on the magazine site (external)

Magazine Site

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media