Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Fri 28 Aug 2020 12:30 - 12:40 at Scheme - Research Session 1

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 Aug
Times are displayed in time zone: Eastern Time (US & Canada) change

11:30 - 13:00
Research Session 1Scheme at Scheme
11:30
30m
Talk
Clotho: A Racket Library for Parametric Randomness
Scheme
Pierce DarraghUniversity of Utah, William G HatchUniversity of Utah, Eric EideUniversity of Utah
File Attached
12:00
30m
Talk
Scheme for scientific computing
Scheme
Francesco MontanariUniversidad Autónoma de Madrid
File Attached
12:30
10m
Talk
Designing a Programming Environment Based on the Program Design Recipe (Lightning Talk)
Scheme
Junya NoseTokyo Institute of Technology, Youyou CongTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
File Attached
12:40
10m
Talk
On Teaching Type Systems as Macros (Lightning Talk)
Scheme
Youyou CongTokyo Institute of Technology, Naoya FurudonoTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
File Attached
12:50
10m
Talk
Programming with Petri Nets to Reason about Concurrency (Lightning Talk)
Scheme
julien lepillerYale University
File Attached