ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Sat 7 Sep 2024 16:00 - 17:00 at Meeting 4 - Session 4 Chair(s): Kristopher Micinski

Designing and implementing teaching languages for embedded domain-specific languages (EDSLs) present unique challenges. Teaching language sequences provide linguistic support as novices gradually work up to mastery of a full GPL. New EDSL programmers deserve that same kind of support, and EDSL teaching languages should help bridge the gap between the full complexity of the host-DSL multilanguage and a constrained environment in which students can effectively learn and apply core concepts.

This talk explores the specific difficulties inherent in creating pedagogically sound teaching languages. We discuss conceptual and practical obstacles in developing effective teaching languages that scale across multiple levels of abstraction across EDSLs, focusing on the need for precise and informative error messages, domain-specific visualizations, and IDE support as particular issues to address.

Using examples from miniKanren, we illustrate how even carefully-designed languages can pose significant barriers to learners when embedded within a more complex host—and we argue that these hurdles are symptomatic of broader challenges with EDSLs. Building on prior work in language-oriented programming and DSL design, we describe some initial work toward one aspect of a solution.

We conclude with a discussion on how these insights can inform the broader design of EDSLs and teaching languages, with the goal of making them more widespread and useful for students across a range of domains, and explore the broader implications for language workbench technologies and multi-language integration.

Jason Hemann is an Assistant Professor of Computer Science in the Department of Mathematics and Computer Science at Seton Hall University. Hemann’s research interests include functional and logic programming DSLs. He focuses on embeddings and extensions to support logic programming in numerous host languages, transforming functional programs to relational ones, and teaching languages to support DSL programming. His microKanren model has inspired scores of implementations – more than 150, in over 50 host languages. Jason’s other interests concern novel uses of logic programming and symbolic constraint systems and typesafe embeddings of logic languages.

Jason’s research interests blend together with his teaching. His research questions tend to emerge from his teaching, and his results make it back into the classroom. An example of this approach can be found in his recently published textbook “The Reasoned Schemer, 2nd Edition”. He has been teaching in various capacities for over 15 years, including pre-college STEM programs, private professional training programs, and university courses at undergraduate and graduate levels. His awards include “Associate Instructor of the Year” at Indiana University.

Prior to joining SHU, Jason held Teaching Professor and Lecturer positions at Northeastern University and the Rose-Hulman Institute of Technology. Jason earned his Ph.D. in 2020 from the School of Informatics, Computing, and Engineering at Indiana University as part of the programming language research community and under the supervision of Dan Friedman. He earned his master’s in computer science from the School of Informatics and Computing at Indiana University, and both of his bachelor’s in computer science and philosophy and a bachelor of arts in history at Trinity University in San Antonio, Texas.

Sat 7 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

16:00 - 17:30
Session 4Scheme at Meeting 4
Chair(s): Kristopher Micinski Syracuse University
16:00
60m
Talk
Challenges in the Design and Implementation of Teaching Languages for EDSLs
Scheme
Jason Hemann Seton Hall University