Generic programming and value semantics
Stepanov and McJones wrote eloquently about the importance of regularity for generic programming in Elements of Programming. In particular, they defined regular value types as those whose instances behave like traditional numerical values (e.g., integers) and noted that such behavior was key to support equational reasoning. Many years later, while numerical values are indeed regular in most mainstream programming languages, user-defined aggregates typically don’t. One well-known consequence of this lack of regularity manifests into the ever confusing distinction between so-called deep and shallow operations.
In this talk, I will argue that the inability to express unrestricted user-defined regular values undermines generic programming, picking examples from mainstream programming languages.
I’m an assistant professor at HES-SO Valais/Wallis (Switzerland). I’m working on language designs for safe and high-performance computing.
Besides research, I’m also actively involved in software development and engineering, and actively maintain a handful of open source software libraries. Most (if not all) of my work is available on my GitHub profile.
Mon 16 MarDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | |||
13:30 45mTalk | Mutable cells for Lexer memoization VIMPL Samuel Chassot EPFL, LARA | ||
14:15 45mTalk | Generic programming and value semantics VIMPL Dimi Racordon HES-SO Valais/Wallis | ||
