Explore functional programming with effects in this 50-minute conference talk from Scala Days New York 2018. Dive into key concepts such as referential transparency, function composition, and the world of expressions. Examine common functional programming operations and rules, including monads and functor laws. Gain insights into practical applications with in-depth discussions on Option, Either, List, Reader, and State. Learn how to leverage these functional programming techniques to write more robust and composable code in Scala.