LambdaLab: an interactive λ-calculus reducer for learning

Daniel Sainati, Adrian Sampson
{"title":"LambdaLab: an interactive λ-calculus reducer for learning","authors":"Daniel Sainati, Adrian Sampson","doi":"10.1145/3310089.3313180","DOIUrl":null,"url":null,"abstract":"In advanced programming languages curricula, the λ-calculus often serves as the foundation for teaching the formal concepts of language syntax and semantics. LambdaLab is an interactive tool that helps students practice λ-calculus reduction and build intuition for its behavior. To motivate the tool, we survey student answers to λ-calculus assignments in three previous classes and sort mistakes into six categories. LambdaLab addresses many of these problems by replicating the experience of working through examples with an instructor. It uses visualizations to convey AST structure and reducible expressions, interactive reduction to support self-guided practice, configurable reduction strategies, and support for encodings via a simple macro system. To mimic informal, in-class treatment of macros, we develop a new semantics that describes when to expand and contract them. We use case studies to describe how LambdaLab can fit into student workflows and address real mistakes.","PeriodicalId":102158,"journal":{"name":"Proceedings of the 2018 ACM SIGPLAN Workshop on SPLASH-E","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2018 ACM SIGPLAN Workshop on SPLASH-E","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3310089.3313180","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

In advanced programming languages curricula, the λ-calculus often serves as the foundation for teaching the formal concepts of language syntax and semantics. LambdaLab is an interactive tool that helps students practice λ-calculus reduction and build intuition for its behavior. To motivate the tool, we survey student answers to λ-calculus assignments in three previous classes and sort mistakes into six categories. LambdaLab addresses many of these problems by replicating the experience of working through examples with an instructor. It uses visualizations to convey AST structure and reducible expressions, interactive reduction to support self-guided practice, configurable reduction strategies, and support for encodings via a simple macro system. To mimic informal, in-class treatment of macros, we develop a new semantics that describes when to expand and contract them. We use case studies to describe how LambdaLab can fit into student workflows and address real mistakes.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
LambdaLab:一个用于学习的交互式λ微积分减速器
在高级程序设计语言课程中,λ演算通常作为教授语言语法和语义的形式概念的基础。LambdaLab是一个交互式工具,可以帮助学生练习λ微积分约简,并建立对其行为的直觉。为了激励这个工具,我们调查了学生在前三节课上对λ微积分作业的回答,并将错误分为六类。LambdaLab通过与讲师一起复制示例工作的经验来解决许多这些问题。它使用可视化来传达AST结构和可简化表达式,使用交互式约简来支持自我指导的实践,使用可配置的约简策略,并通过一个简单的宏系统来支持编码。为了模拟非正式的类内宏处理,我们开发了一种新的语义来描述何时展开和收缩宏。我们使用案例研究来描述LambdaLab如何适应学生的工作流程并解决实际错误。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
LambdaLab: an interactive λ-calculus reducer for learning A framework for code-level tracing of map-based algorithm visualizations
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1