Calysto Scheme is written in Scheme in Continuation-Passing Style, and converted through a series of correctness-preserving program transformations into Python. It has support for standard Scheme functionality, including call/cc, as well as syntactic extensions, a nondeterministic operator for automatic backtracking, and many extensions to allow Python interoperation. Because of its Python foundation, it can take advantage of modern Python libraries, including those for machine learning and other pedagogical contexts. Although Calysto Scheme was developed with educational purposes in mind, it has proven to be generally useful due to its simplicity and ease of installation. It has been integrated into the Jupyter Notebook ecosystem and used in the classroom to teach introductory Programming Languages with some interesting and unique twists.
翻译:Calysto Scheme是用Scheme编写的延续传递风格程序,经过一系列保持正确性的程序变换转换为Python。它支持标准Scheme功能(包括call/cc)、语法扩展、用于自动回溯的非确定性运算符,以及多种允许与Python互操作的扩展。由于基于Python基础,它能够利用现代Python库(包括机器学习教育场景的库)。尽管Calysto Scheme最初是为教育目的而开发,但因其简洁性和易安装性,已被证实具有广泛的实用性。该项目已集成至Jupyter Notebook生态,并在课堂上用于教授具有独特创新点的程序设计语言入门课程。