Lately we attended Scala.OI conference in Paris. It was a two day-three track conference with one of the tracks in French. It was strange, since every conference I attended was English only. Also, that was to only room with windows, so I was even more interested in "Petit salon" :)
After Roland Kuhn's keynote about the challenges and some solutions on building distributed systems, John Pretty and Lars Hupel told the story of Typelevel Scala. How the three of them rode days in a car up in Norway and talked about Scala, how the idea of Typelevel was born by the end of the trip.
Their purpose is also to create a unified ecosystem for the libraries they are maintaining besides implementing features in Scala faster than Typesafe can do. They understand what Typesafe's reasons are being focused on stability and compatibility, but they want the language to move faster, don't stand in their way or even support them better.
They would like to provide three layers of compatibility with their own compiler (you need to compile your brand new language, aren't you?). Binary compatibility, which means classfiles created with tlc (the Typelevel compiler) should be compatible with classfiles created with scalac and vice versa, source compatibility, so you can use source codes in Typelevel Scala which can be compiled by scalac (basically "normal" scala code), and semantic compatibility, so code compiled with either compilers will produce the same program. Typesafe welcomes the idea, let's see what comes out!
Earlier this year I watched Evan Czaplicki's talk at Craft Conference about the Elm language he created, and he used the same example of a Mario game and I also saw Bodil watching it, so maybe that's where she got the idea of creating this presentation which is definetly has a lot higher cool factor that simply coding and looking at some text output. Something similar was Alexandar Prokopec' talk on Scala Days this year on "Experiment: A Reactive 3D Game Engine in Scala". I definitely welcome the idea of this type of presentations, it can show how powerful is a language a catchy way, even if you are not doing any rendering at all.
Luckily there was two talks Brendan McAdams on APIs. With distributes systems the importance of APIs raised sharply, and creating APIs can be painful if you don't have the right tools to create them. Having a well documented API saves a lot of time for your co workers (do you want frontend guys love you with the most sincere love? that's the way to their hearts. dependant backend services' maintainers will love you at heart) and even for yourself (frontend guys with sincere love ask less).
He demonstrated how you can make this happen using Scalatra, a Sinatra-like web micro-framework, and Swagger, a really powerful tool for documenting your API and make it discoverable in a generated web view. With a few lines of additional code per action, you'll have something like this. I don't have to explain how cool is that! One more feature could make it even more awesome: if it also could provide validation based on the documentation you already provided about a field, like a required string with at least 5 characters length. Altogether, I'm really excited to try this out with one of our service which we currently use Play for.
Scala.IO was a well organized event with quality talks, a particular conference party (rived ride on the Seine) and it taken place in one of the best cities in the world. Don't hesitate to attend next year if you have a chance!