October meetup - Invited : Juan Manuel Serrano on Scala + More :D


Details
Agenda
7pm Lighthing talk by Jeremie Jost
7.15 Short break
7.30 Type classes talk by Juan Manuel Serrano
A Tale of Two Paradigms
It's 2016 and you don't have to write Javascript to build frontend apps anymore! Every new language under the sun cross-compiles to JS nowadays. Features such as strong typing, a not insane behaviour for ==, better modularity, and for some of them FP and immutability, make it easier to handle the ever-increasing complexity of frontend code. But at which point does it become worthwhile to ditch JS in favour of something better? Surely JS is still superior for prototyping stuff? Let's find out through a story about a 2-day game jam involving Elm, Javascript, and love.
Bypassing free monads with type classes
Have you ever tried to implement a pure, monadic function in Scala that deals with multiple effects (e.g. Input/Output, File System, Logging, ...)? Chances are that you ended up using free monads, functor coproducts and all the implicits machinery of Scala at its full power. Have you ever tried to explain to object oriented programmers how did you do that? I bet that they run away from you as if they have seen the devil himself. Indeed, we have to acknowledge that the free monad approach to effect composition is ... way complicated. In this talk, we explore a different approach which favours type classes over algebraic data types. We will see how type classes allow us to design functional APIs that can be seen as an evolution of the more simple and conventional APIs object oriented programmers are used to work with; and, we will check how we can seamlessly combine multiple functional APIs exactly as we use to combine their conventional API counterparts. Well ... not exactly, because we will now need Monad or Applicative combinators to compose our program fragments. But the good news are that Monad and Applicative can also be explained as APIs. To conclude, we briefly recall our experiences at teaching this approach in several functional programming courses, and point out the relationship between this approach and free monads in terms of the Church encoding and initial algebras.
About Juan Manuel Serrano
Juan Manuel is CTO and co-founder of Habla Computing. He has been using Scala for the last five years in real-world applications for the banking sector, and has extensive experience in consultancy projects with Scalaz, cats and other functional frameworks of the Scala ecosystem. He founded and manages the Madrid Scala Meetup group and is member of the organizing committee of lambda.world (https://t.co/UHkL54U0vk). Prior to joining Habla Computing, Juan Manuel was a University teacher for more than fifteen years in different computer science and software engineering degrees.
Would you like to bring your friend, partner in crime, colleague ? They are welcome. Do you have a colleague or friend who is curious about but is too shy to rsvp? They are welcome too
https://a248.e.akamai.net/secure.meetupstatic.com/photos/event/6/0/a/1/600_454824737.jpeg
Thanks to Workday for sponsoring the Travel and Accomodation for this speaker.

October meetup - Invited : Juan Manuel Serrano on Scala + More :D