Date Added: Mar 2010
This paper describes the design and implementation of named and default arguments in the Scala programming language. While these features are available in many other languages there are significant differences in the actual implementations. The authors present a design that unifies the most reasonable properties for an object-oriented language and provides new possibilities by allowing default arguments on generic and implicit parameters. They also present a solution for the problem of writing a lightweight generic update function for algebraic data-types.