skip to main content
research-article
Open Access
Artifacts Available
Artifacts Evaluated & Reusable

A unified approach to solving seven programming problems (functional pearl)

Published:29 August 2017Publication History
Skip Abstract Section

Abstract

We present seven programming challenges in Racket, and an elegant, unified approach to solving them using constraint logic programming in miniKanren.

Skip Supplemental Material Section

Supplemental Material

References

  1. William E. Byrd and Daniel P. Friedman. 2006. From Variadic Functions to Variadic Relations: A miniKanren Perspective. In Proceedings of the 2006 Scheme and Functional Programming Workshop (University of Chicago Technical Report TR-2006-06), Robby Findler (Ed.). 105–117.Google ScholarGoogle Scholar
  2. William E. Byrd, Eric Holk, and Daniel P. Friedman. 2012. miniKanren, Live and Untagged: Quine Generation via Relational Interpreters (Programming Pearl). In Proceedings of the 2012 Annual Workshop on Scheme and Functional Programming (Scheme ’12). ACM, New York, NY, USA, 8–29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Daniel P. Friedman, William E. Byrd, and Oleg Kiselyov. 2005. The Reasoned Schemer. The MIT Press, Cambridge, MA, USA.Google ScholarGoogle Scholar
  4. Douglas R. Hofstadter. 1979. Gödel, Escher, Bach : an Eternal Golden Braid. Basic, New York, NY, USA.Google ScholarGoogle Scholar
  5. J. Jaffar and J.-L. Lassez. 1987. Constraint Logic Programming. In Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL ’87). ACM, New York, NY, USA, 111–119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Oleg Kiselyov, Chung-chieh Shan, Daniel P. Friedman, and Amr Sabry. 2005. Backtracking, Interleaving, and Terminating Monad Transformers: (Functional Pearl). In Proceedings of the Tenth ACM SIGPLAN International Conference on Functional Programming (ICFP ’05). ACM, New York, NY, USA, 192–203. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Stephen Cole Kleene. 1952. Introduction to Metamathematics. North-Holland, Amsterdam.Google ScholarGoogle Scholar
  8. John McCarthy. 1978. A micro-manual for LISP – Not the whole truth. SIGPLAN Not. 13, 8 (Aug. 1978), 215–216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Matt Might. 2013. 99 ways to say ’(I love you) in Racket. http://matt.might.net/articles/i- love- you- in- racket/ . (February 2013). Accessed: 2017-02-28.Google ScholarGoogle Scholar

Index Terms

  1. A unified approach to solving seven programming problems (functional pearl)

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader