Structural Prototypes: Resolving the Statically-typed Object-functional Dichotomy

Emerging Languages
Location: E144
Average rating: ****.
(4.40, 5 ratings)

Object-functional languages have a number of desirable properties and have proven very useful in practice. Unfortunately, these properties are very difficult to realize in a statically-typed context. Rampant complexity and emergent undecidability are almost unavoidable in such systems, resulting in many of the problems which now affect Scala. This talk will explore the theoretical reasons for these difficulties, deriving the inevitability of Scala’s much-maligned complexity, and finally presenting a way of attacking the object-functional problem through the simpler and more orthogonal framework of statically-typed object prototypes.

Photo of Daniel Spiewak

Daniel Spiewak


Daniel Spiewak is a software developer based out of Wisconsin, USA. Over the years, he has worked with Java, Scala, Ruby, C/C++, ML, Clojure and several experimental languages. He currently spends most of his free time researching parser theory and methodologies, particularly areas where the field intersects with functional language design, domain-specific languages and type theory.

Daniel has written a number of articles on his weblog, Code Commit, including his popular introductory series, Scala for Java Refugees.

Comments on this page are now closed.


Picture of Dean Wampler
Dean Wampler
06/23/2011 7:50am PDT

If you’re a language geek, you won’t want to miss Daniel’s talk.