Software developers create a variety of artifacts that model viour of applications at different levels of abstraction; e.g. use cases, sequence diagrams, and source code. Aspect-o...
Jonathan Sillito, Christopher Dutchyn, Andrew Davi...
Just as some functions have uniform behavior over distinct types, other functions have uniform behavior over distinct arities. These variable-arity functions are widely used in scr...
T. Stephen Strickland, Sam Tobin-Hochstadt, Matthi...
more abstractly to the tools, tactics, and techniques pertinent to each profession. Top basketball players know multiple ways to help their teams with scoring, passing, and defense...
Bidirectional programming languages are a practical approach to the view update problem. Programs in these languages, called lenses, define both a view and an update policy--i.e.,...
Davi M. J. Barbosa, Julien Cretin, Nate Foster, Mi...
Traditional techniques for implementing polymorphism use a universal representation for objects of unknown type. Often, this forces a compiler to use universal representations eve...