Designing a Programming Environment Based on the Program Design Recipe (Lightning Talk)
The program design recipe, introduced by Felleisen et al. in their textbook “How to Design Programs”, is a step-by-step procedure that solves a problem by programming. The design recipe encourages the programmer, after examining the problem statement, to analyze the data, create input-output examples, and develop a template, instead of immediately starting coding. This helps reduce various kinds of errors, such as non-exhaustive conditional expressions and infinite loops.
One problem in programming with the design recipe is the lack of error-checking support for steps other than coding. For instance, in DrRacket, the programmer cannot check the correctness of data definitions or templates, as they are not written as runnable Racket programs.
We propose a programming environment based on the design recipe. The environment covers the whole process of the design recipe, including data analysis and template construction, with an IDE-like user interface. We also create a domain-specific language that allows systematic design of the user interface and error checking algorithms. Although it is only partly implemented at this point, we hope to receive suggestions on the design of our environment, especially from the workshop participants who are teaching with the design recipe.
Designing a Programming Environment Based on the Program Design Recipe (scheme20-final6.pdf) | 271KiB |
Fri 28 AugDisplayed time zone: Eastern Time (US & Canada) change
11:30 - 13:00 | |||
11:30 30mTalk | Clotho: A Racket Library for Parametric Randomness Scheme File Attached | ||
12:00 30mTalk | Scheme for scientific computing Scheme Francesco Montanari Universidad Autónoma de Madrid File Attached | ||
12:30 10mTalk | Designing a Programming Environment Based on the Program Design Recipe (Lightning Talk) Scheme Junya Nose Tokyo Institute of Technology, Youyou Cong Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology File Attached | ||
12:40 10mTalk | On Teaching Type Systems as Macros (Lightning Talk) Scheme Youyou Cong Tokyo Institute of Technology, Naoya Furudono Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology File Attached | ||
12:50 10mTalk | Programming with Petri Nets to Reason about Concurrency (Lightning Talk) Scheme Julien Lepiller Yale University File Attached |