skip to main content
10.1145/3358711.3361629acmconferencesArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

Lambdulus: teaching lambda calculus practically

Published:25 October 2019Publication History

ABSTRACT

λ calculus is a great formal introduction to functional programming. However, its abstract nature poses a challenge for many students as they struggle both with the unfamiliarity of functional programming and with the high abstraction and minimalism of λ calculus. As a result, functional programming classes are often delayed to older students who are hoped to be better prepared for appreciating its qualities, as was the case at the authors’ university as well. 3 years ago, as part of a redesigned curriculum around programming languages education, we have decided to introduce students to various programming paradigms much sooner than before. In doing so, we faced the problem of explaining very theoretical foundational concepts to very young students in a very short time. We have monitored the achievements and shortcomings of the new course over the past years and as a result of our findings have developed Lambdulus, an interactive and visual evaluator of λ calculus expressions that encourages students to explore the mechanisms of λ calculus by treating it not as a theoretical concept, but as a programming language in its own right.

References

  1. Alonzo Church. 1936. A note on the Entscheidungsproblem. The journal of symbolic logic (1936).Google ScholarGoogle Scholar
  2. Alonzo Church. 1941. The Calculi of Lambda-Conversion. Annals of Mathematics Studies 6 (1941).Google ScholarGoogle Scholar
  3. D. E. Knuth. 1984. Literate Programming. Comput. J. 27, 2 (01 1984), 97-111. arXiv:http://oup.prod.sis.lan/comjnl/article-pdf/27/2/97/981657/270097.pdf Google ScholarGoogle Scholar
  4. P. J. Landin. 1964. The Mechanical Evaluation of Expressions. Comput. J. 6, 4 (01 1964), 308-320. arXiv:http://oup.prod.sis.lan/comjnl/article-pdf/6/4/308/1067901/6-4-308.pdfGoogle ScholarGoogle Scholar
  5. Gordon Plotkin. 1975. Call-by-Name, Call-by-Value and the Lambda Calculus. In Theoretical Computer Science, Vol. 1. 125,159.Google ScholarGoogle ScholarCross RefCross Ref
  6. Daniel Sainati and Adrian Sampson. 2018. LambdaLab: An Interactive ?-Calculus Reducer for Learning. In ACM SIGPLAN SPLASH-E Workshop (SPLASH-E 18). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. David H. D. Warren. 1983. An Abstract Prolog Instruction Set. Technical Report. Artificial Intelligence Center, Computer Science and Technology Division, SR International. http://www.ai.sri.com/pubs/files/641.pdfGoogle ScholarGoogle Scholar
  8. T. Wrigstad and E. Castegren. 2017. Mastery Learning-Like Teaching with Achievements.. In ACM SIGPLAN SPLASH-E Workshop (SPLASH-E 17). http://urn.kb.se/resolve?urn=urn:nbn:se:uu:diva-333724.Google ScholarGoogle Scholar

Index Terms

  1. Lambdulus: teaching lambda calculus practically

          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
          • Published in

            cover image ACM Conferences
            SPLASH-E 2019: Proceedings of the 2019 ACM SIGPLAN Symposium on SPLASH-E
            October 2019
            65 pages
            ISBN:9781450369893
            DOI:10.1145/3358711

            Copyright © 2019 ACM

            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 the author(s) 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: 25 October 2019

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader