Dan Hunt: Flexible DSLs with Tagless Final


A good DSL encoding method would ideally allow us to write our program once but execute it differently depending on whether it was running in a unit test, in a single box deployment or in the cloud. It would need to be flexible in its return types to allow for different effects (asynchronicity, error handling, etc.) but still be statically type checked. It would be easily extensible and allow us to combine different DSLs together. It's a seemingly tall order that is surprisingly easy to achieve. Tagless Final is a powerful but simple concept that has seen a resurgence of popularity in the Scala world recently. This live coding talk will work through some simple examples that will hopefully reveal the potential of this method.

Dan Hunt is a Senior Technical Fellow at PTC working on the Thingworx IOT platform where he wrestles daily with big data and distributed systems. In his spare time he is endlessly fascinated by the vast host of functional programming concepts he has yet to learn.

Wingspan will be hosting the meeting. Vistar Media will be providing the food.