Mon 5 Nov 2018 14:00 - 14:30 at Newbury - Afternoon

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 \lambdaλ-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 \betaβ-reduction 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.

Mon 5 Nov

13:30 - 15:00: SPLASH-E - Afternoon at Newbury
splash-2018-SPLASH-E13:30 - 14:00
Celina BergUBC, Computer Science, Fatimah MahmoodUniversity of British Columbia
File Attached
splash-2018-SPLASH-E14:00 - 14:30
Daniel SainatiCornell University, Adrian SampsonCornell University
File Attached
splash-2018-SPLASH-E14:30 - 15:00