Title: Concrete syntax matters, actually

Abstract: Too many programming languages researchers dismiss concrete syntax as an afterthought: arbitrary, superficial, or distracting from matters of “actual” (semantic) importance. This received view ignores a critical factor: the human at the computer. Concrete syntax defines the principal interface through which programmers interact with the vast majority of programming languages. Moreover, this interface is hardly decoupled from semantics; even trivial-seeming differences in keywords, sigils, and indentation can affect how programmers utilize and reason about language behavior. Using examples from asynchronous control flow, gradual subtyping, first-class functions, and more, I will make a case for the importance of concrete syntax, why language designers often overlook it, and what this implies for those of us who care about the usability of abstractions. Finally, I will describe some preliminary work evaluating the role of lexical ambiguity in programmer comprehension of type system features.

My talk "Concrete syntax matters, actually" from the Topos Institute Colloquium is now available on YouTube! It's an exhortation to reframe our idea of UI to include regular, shmegular programming languages, and the oft-derided task of defining their actual lexical sequences.

youtube.com/watch?v=kQjrcSMYpaA

0

If you have a fediverse account, you can quote this note from your own instance. Search https://types.pl/users/sliminality/statuses/115709967997480774 on your instance and quote it. (Note that quoting is not supported in Mastodon.)