Grzegorz Kossakowski



Grzegorz Kossakowski is a Scala compiler and tools hacker at Typesafe. A former Google Intern, Grzegorz worked on the Scala+GWT project and internal Android tools. Grzegorz holds a M.S. in Computer Science from the University of Warsaw and completed his master thesis under Martin Odersky through EPFL. A passionate Scala enthusiast, Grzegorz devotes his time at Typesafe to improving Scala compiler performance, build tool integration and Java interoperability. During Scala Days 2012 in London, Grzegorz presented his latest progress on Scala+GWT project where he showed a large demo written in Scala and compiled to Javascript.


Discussion panel: Functional Programming - radical thinking shift and step towards clearer and reliable software

The discussion panel aims at presenting views on the usefulness of functional programming on JVM and beyond, including F# on .Net (if there are people who could tackle the topic with care). We hope to gather people with different opinions, often contradictory, so they can lead to useful outcomes about pros and cons of using functional programming languages - Scala, Clojure as the main players - for current and future projects.

There are plenty of questions people ask themselves when they're faced with learning functional languages and the discussion panel should address some.

Amongst the questions that attendees should anticipate get answers to could be: Why should I consider functional programming languages for my projects? Should I mix and match Java with other languages? What are the most-suited use cases for functional languages? Where would be an introductory area for introducing a functional language in a project? What tools should I get familiar with to get up to speed with functional programming on JVM?

Type safe JSON using Scala Macros

Download materials

Accessing JSON objects from statically typed languages like Java is often tedious. It’s easy to navigate a JSON object’s structure using String keys, but you’ll lose type safety and code completion. To get those conveniences back, you’ll have to laboriously define bindings between JSON and Java beans. What if we could keep code completion without defining bindings? In this talk I’ll show you how to use two new features of Scala 2.10, scala.Dynamic and macros, to implement a small library that accesses JSON data from a web service (e.g. Twitter API) and infers types using live data. These types allow Scala’s Eclipse plugin to provide code completion. A similar approach is taken by Javascript IDE’s that inspect live objects to provide code completion. We’ll wrap this up with a live demo of using that library to access Twitter’s feed, relying on code completion when accessing the JSON returned by the Twitter API.

Organizers & Key partners