English

Disco: A Functional Programming Language for Discrete Mathematics

Programming Languages 2023-08-15 v1 Discrete Mathematics

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

Keywords

Cite

@article{arxiv.2308.06971,
  title  = {Disco: A Functional Programming Language for Discrete Mathematics},
  author = {Brent A. Yorgey},
  journal= {arXiv preprint arXiv:2308.06971},
  year   = {2023}
}

Comments

In Proceedings TFPIE 2023, arXiv:2308.06110

R2 v1 2026-06-28T11:54:53.689Z