Scala Monads: Declutter Your Code With Monadic Design

In this video tutorial, Dan Rosen will show you how to use Scala's capacity for monadic design to eliminate repetitive boilerplate in your code. You'll learn to recognize places where the perpetual clutter of null checks, try-catch blocks and more can be hidden within a monad, to make your code's logic stand out clearly. ** Head to http://marakana.com for more open source educational resources

Related Talks

Minimizing the Slippery Surface of Failure — Jon Pretty

an hour
Scala's type system allows us to enforce compile-time constraints on our programs, and to take advantage of these constraints to help reason about our code. Yet we still frequently encounter situations where extracting a value from a map is not guaranteed to succeed, or mapping across a set of cases ...

Functional programming patterns for the non-mathematician (cut)

I hit on some practical use cases for functors/applicatives/monads. Pretty fast and quick run through of everything, but you can't learn the world in 30 min. Hopefully, people get some intuition or a better concrete understanding - enough to play with the code. here github.com/DrBoolean/patterns_talk ...

C++17: I See a Monad in Your Future

Abstract The introduction of lambdas and first class function objects forever changed the nature of C++, opening up the floodgates to functional programming. Sometimes the best library design is based on a pattern that's very familiar to a Haskell programmer but alien to a C++ programmer. The new std::future proposal ...

Scala Versus Java

Java is no longer alone on the JVM. It now has to share space with its younger siblings JRuby, Jython, Groovy, Clojure, Scala and many others. Each new language has its own set of advantages and disadvantages compared to Java, and its own niche in which it performs best, but ...

Ruby Midwest 2011 Confident Code by Avdi Grimm

Are your methods timid? Do they constantly second-guess themselves, checking for nil values, errors, and unexpected input? Even the cleanest Ruby codebases can become littered over time with nil checks, error handling, and other interruptions which steal attention away from the essential purpose of the code. This talk will discuss ...

Concurrency Anti-patterns in Scala

Blake Matheny approaches his talk at NEScala with a collection of trial-and-error experiences he's acquired as the VP of Engineering at Tumblr (who for the past year and half has adopted Scala as their primary backend development language). Blake draws on actual code used at Tumblr, describes their implications in ...

Redemption from Callback Hell

Callback Hell is a very real place. At least, according to Michael Jackson, co-founder of HUM, it is. But stay calm! In this presentation, Michael and his co-presenter Domenic Denicola, Software Engineer at Lab49, will walk you through all the steps required to avoid this dark and mysterious place. Instead of simply ...

Hey Underscore, You're Doing It Wrong!

Brian Lonsdorf has a love-hate relationship with Underscore.js. Yes, it offers a bunch of tools included in today's functional programming paradigm (like map, filter, reduce, take, drop, compose, etc.), but in Underscore the functions are sometimes verbose and unintuitive. It claims to be a functional programming language, but how true ...

Paul Irish on HTML5 Boilerplate

HTML5 Boilerplate is a "rock-solid defualt for HTML5 awesome." In this video, Paul Irish, the man behind the project will show you how you can use HTML5 Boilerplate to get your projects up and running quickly while keeping best practices covered. Paul will start with an overview of HTML5 Boilerplate before ...

Scala Collections: Why Not?

Paul Phillips is a co-founder of Typesafe and the most prolific committer to Scala. He's spent the last 5 years developing the language, writing a lot of code and drawing a lot of conclusions, but has decided to walk away. In this talk, he explains why. He outlines what he believes ...