Disco: A Functional Programming Language for Discrete Mathematics

Brent A. Yorgey
(Hendrix College)

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].

In Elena Machkasova: Proceedings Twelfth International Workshop on Trends in Functional Programming in Education (TFPIE 2023), Boston, Massachusetts, USA, 12th January 2023, Electronic Proceedings in Theoretical Computer Science 382, pp. 64–81.
Published: 14th August 2023.

ArXived at: https://dx.doi.org/10.4204/EPTCS.382.4 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org