Think Less, Get High: Functional Programming in Scala
What is the real use of functional programming? I believe that I believe the true purpose of functional programming is to help us reach higher levels of thinking much in line with the ideals of Douglas C. Engelbart. and his work on "Augmenting Human Intellect". Using the tools themselves should challenge us to be better thinkers and better doers.
In this talk we talk about specific patterns functional patterns that would help us identify areas where we can get more done with writing less code and write better higher order functions.
Some of the themes that will be explored in the talk.
* Pattern matching.
* Currying and Partials in Scala.
* Exception Handling and Options.
* Memoization and Avoiding Recomputation.
* Functional Composition With Monads Kleisli Functors.
* Metaprogramming in scala.
* Streams in Scala.
Outline/Structure of the Talk
- Some goals to be kept in mind when writing code.
- Pattern matching in Scala.
- Currying and Partials in Scala.
- Looking at Exception Handling and Options.
- Memoization and Avoiding Recomputation.
- Functional Composition With Monads Kleisli Functors.
- Metaprogramming in scala.
- Streams in Scala.
Learning Outcome
Hopefully the attendees will take home some useful patterns after attending this session.
Target Audience
Beginners in FP and Scala
Prerequisites for Attendees
This talk should be accessible to anyone with some programming background.