The POSIX shell is an interactive DSL for concurrency
The POSIX shell is the de facto standard for interacting with computer systems, ranging from personal laptops to clus- ters of many powerful servers [IEEE and The Open Group 2016]. Few languages rival the shell for power, but it has inspired more mockery and revulsion [Garfinkel et al. 1994] than academic attention [D’Antoni et al. 2016; Jeannerod et al. 2017a,b; Mazurak and Zdancewic 2007]. The shell is not taken seriously as a programming language, but it is in fact an extremely powerful DSL for concurrency with strong support for interactivity. In my talk, I will present prelimi- nary work on formalizing the POSIX shell standard. What makes the POSIX shell so good at interactivity [Greenberg 2018] and managing concurrency [Greenberg 2017]? How can we help novices and more experienced users understand the POSIX shell? I will demonstrate a stepper that makes the shell’s obscure semantics observable.
Tue 6 Nov
|13:30 - 14:00|
|14:00 - 14:30|
|14:30 - 15:00|
Michael GreenbergPomona College