Disco: A Functional Programming Language for Discrete Mathematics

AI-generated keywords: Disco

AI-generated Key Points

  • Disco is a pure, strict, statically typed functional programming language designed for students to learn fundamental concepts of functional programming and apply mathematical principles through computational exploration.
  • Developed by Brent A. Yorgey from Hendrix College, Disco offers mathematically-inspired notation, property-based testing, equirecursive algebraic types, subtyping, built-in list, bag, and finite set types.
  • The language provides a REPL (Read-Eval-Print Loop) for interactive code execution and is implemented in Haskell with its source code openly available on GitHub.
  • Disco's approach includes student-focused documentation to support learners in understanding functional programming and discrete mathematics intricacies.
  • Research presented at the International Workshop on Trends in Functional Programming in Education 2023 highlights the synergy between discrete math topics and functional programming exercises.
  • By incorporating Disco into the curriculum, educators can provide a balanced learning experience that leverages strengths of both disciplines while promoting interdisciplinary connections between mathematics and computer science.
Also access our AI generated: Comprehensive summary, Lay summary, Blog-like article; or ask questions about this paper to our AI assistant.

Authors: Brent A. Yorgey (Hendrix College)

EPTCS 382, 2023, pp. 64-81
In Proceedings TFPIE 2023, arXiv:2308.06110
License: CC BY 4.0

Abstract: Disco is a pure, strict, statically typed functional programming language designed to be used in the setting of a discrete mathematics course. The goals of the language are to introduce students to functional programming concepts early, and to enhance their learning of mathematics by providing a computational platform for them to play with. It features mathematically-inspired notation, property-based testing, equirecursive algebraic types, subtyping, built-in list, bag, and finite set types, a REPL, and student-focused documentation. Disco is implemented in Haskell, with source code available on GitHub [https://github.com/disco-lang/disco], and interactive web-based REPL available through replit [https://replit.com/@BrentYorgey/Disco#README.md].

Submitted to arXiv on 14 Aug. 2023

Ask questions about this paper to our AI assistant

You can also chat with multiple papers at once here.

AI assistant instructions?

Results of the summarizing process for the arXiv paper: 2308.06971v1

Disco is a pure, strict, statically typed functional programming language that aims to introduce students to fundamental concepts of functional programming and enhance their understanding and application of mathematical principles through computational exploration. Developed by Brent A. Yorgey from Hendrix College, Disco offers mathematically-inspired notation, property-based testing, equirecursive algebraic types, subtyping, built-in list, bag, and finite set types, as well as a REPL (Read-Eval-Print Loop) for interactive code execution. The language is implemented in Haskell and its source code is openly available on GitHub for further exploration and development. A Pure Functional Programming Language for Discrete Mathematics Courses Key features of Disco include mathematically-inspired notation, property-based testing, equirecursive algebraic types, subtyping, built-in list, bag, and finite set types. Disco's Approach to Teaching Fundamental Concepts In addition to its technical aspects,<Organization>, Disco also offers student-focused documentation to support learners in grasping the intricacies of both functional programming and discrete mathematics. <Organization>'s <Organization>: Enhancing Understanding Through Practical Coding Exercises Research presented at the International Workshop on Trends in Functional Programming in Education 2023 (TFPIE 2023) highlights the synergy between discrete math topics and functional programming exercises. <Organization>: Bridging the Gap Between Theory and Practice By incorporating functional programming into the curriculum,<Organization>'s can benefit from a more balanced learning experience that leverages their respective strengths while providing new perspectives on familiar subjects. <Organization>: Promoting Interdisciplinary Connections Between Mathematics and Computer Science Overall, Disco serves as a valuable tool for educators looking to enrich their discrete mathematics courses with practical coding exercises and computational tools. Its integration of functional programming concepts not only enhances students' problem-solving skills but also promotes interdisciplinary connections between mathematics and computer science disciplines.
Created on 09 Dec. 2024

Assess the quality of the AI-generated content by voting

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

Look for similar papers (in beta version)

By clicking on the button above, our algorithm will scan all papers in our database to find the closest based on the contents of the full papers and not just on metadata. Please note that it only works for papers that we have generated summaries for and you can rerun it from time to time to get a more accurate result while our database grows.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.