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].
翻译:Disco是一种纯函式、严格求值、静态类型的函数式编程语言,专为离散数学课程场景设计。该语言旨在早期向学生引入函数式编程概念,并通过提供可交互的计算平台,增强其对数学的学习效果。其特色包括:数学化符号表示、基于属性的测试、等递归代数类型、子类型、内置的列表、包及有限集合类型、交互式解释器(REPL)以及面向学生的文档资料。Disco使用Haskell实现,源代码可通过GitHub [https://github.com/disco-lang/disco] 获取,并可通过replit [https://replit.com/@BrentYorgey/Disco#README.md] 访问基于Web的交互式REPL。