Scala 2016
Sun 30 - Mon 31 October 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Sun 30 Oct 2016 15:40 - 16:05 at Matterhorn 2 - Types and Embedding

The cake pattern was designed to support modular development combining mixins with ML modules, but it is criticized because mixins are not sufficiently isolated from each other’s implementation. Indeed, as discussed by Gabriel, historically mixins were not designed to enforce isolation, but to support separating intrinsically orthogonal concepts in cooperative development scenarios.

We start investigating the issue and clarify which scenarios the cake pattern does succesfully apply to. We compare the cake pattern with an encoding of (recursive) hierarchical modules based on object composition instead of inheritance, that support fully separate modular development at the cost of more boilerplate.

We also suggest one could support separate modular development without additional boilerplate by combining the cake pattern with private implementation inheritance.

Sun 30 Oct

scala-2016
15:40 - 17:20: Scala - Types and Embedding at Matterhorn 2
scala-201615:40 - 16:05
Talk
Paolo G. GiarrussoUniversity of Tübingen, Germany, Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany
scala-201616:05 - 16:30
Talk
Tim van der LippeDelft University of Technology, Netherlands, Thomas SmithDelft University of Technology, Netherlands, Daniel A. A. PelsmaekerDelft University of Technology, Netherlands, Eelco VisserDelft University of Technology, Netherlands
DOI File Attached
scala-201616:30 - 17:20
Other