Named and Default Arguments in Scala
This talk is about 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. Scala presents 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. We will show how Scala's default arguments are expressive enough to solve the problem of writing a lightweight generic update function for algebraic datatypes.