A Scala Map
Many people who are just starting out with Scala are often also interested in learning to program functionally. This is quite the challenging proposition: functional programming in itself is a learning curve not to be underestimated, and this is not aided by the confusion of where to start given the breadth of the Scala language.
In this introductory talk I will present some suggestions, and drop some signposts for where a newcomer to Scala should invest their efforts. In some ways, this will hopefully be a talk that I would have wanted to have seen when I first started using Scala.
Towards "annex", a Fact Based Dependency System
"annex" is a modern (cross-language) dependency system, based upon an immutable fact based view of the world that aims to give you rigour and reproducibility without sacrificing flexibility. This talk is an early preview of the talk I will be presenting at StrangeLoop. For the complete, full rant, version of this abstract see http://mth.io/posts/annex/.
Simple Lock-Free Transactions and Their Uses
This is about a low level technique that easily builds reliable, higher level concurrent programming abstractions. Transactional datatypes built this way and combined with monadic interpreters make a nice concurrent programming toolkit.
But why? Apart from the spirit of exploration, maybe you:
• want to build a non-trivial RxJava combinator but don't want mess with raw locks and queues;
• have an application that interacts with its environment that is not a web service and is not stream oriented;
• are considering Akka but want to program with static types and/or in functional style.