Show notes
In this episode I talk with Eric Normand. We talk his podcast “Thoughts on Functional Programming”; his in-progress book “Grokking Simplicity“; Actions, Calculations, and Data; trying to bury mutation and side-effects; Property-Based testing; and more.Our Guest, Eric Normand@ericnormand on TwitterPurelyFunctional.tvLispCast.comThoughts on Functional ProgrammingGrokking SimplicityConference AnnouncementsLambda Days 2020 will be on the 13th and 14th of February in Kraków, Poland. Visit https://www.lambdadays.org/lambdadays2020 to find out more and to register.Code BEAM SF is taking place on March 6th and 6th. For more information visit: https://codesync.global/conferences/code-beam-sf/.Elm in the Spring will be taking place May 1st. Check in at https://www.elminthespring.org/ to keep updated as more information gets announced.If you have a conference related to functional programming, contact me, and I will be happy to announce it.AnnouncementsSome of you have asked how you can support Functional Geekery, in that vein, Functional Geekery now has a Patreon Page.If that is one of the ways you would like to show your support, you can find out more at https://www.patreon.com/fngeekery.Topics [@Welcome back EricWhat Eric has been up to since Episode 117PurelyFunctional.tvGrokking SimplicityWhat prompted the Thoughts on Functional Programming podcastStarted from Eric’s talk at Lambdup 2017Being told it is much easier to edit existing text than write new textTrying to start a literature around functional programmingFiguring out the format/layout of the book“Just imagine each page as a slide”The target audience for the book“Functional programming is programming without side effects”Not being able to recommend any books on getting started with functional programmingActions, Calculations, and DataActions (Impure “Function”) – Depend on when, or how many times, they are runSide-effects also being the reason we write programsCalculations (Pure “Functions”) – Same arguments, same answer no matter how many times you run itData – completely inertData can be interpreted in multiple waysOther side of Data is that it requires at least some interpretationHow to help distinguish Actions from CalculationsHaskell‘s IO type containing all side-effects as brilliantThe illusion that we are not doing any mutability at the machine levelBlurry line between Actions and Calculations in some casesAny conventions for later readers to hint at Actions vs CalculationsSelling the separation of Calculations from ActionsSpending time on showing how Actions “contaminate” CalculationsThe idea that “You could abstract away the mutation”Thinking you are going to bury and covering up the problem“Can you construct a User from an ID without hitting the database”Needing mocks as a possible signal of being an Action instead of a CalculationPurelyFunctional.tv videosThoughts on Functional Programming podcastProperty-Based Testing videosBeginning Property-Based Testing courseIntermediate Property-Based Testing courseAdvanced Property-Based Testing courseProperty-Based testingQuickCheckNext course likely building a web-app in ClojureBag of Tricks for Property-Based testingDeveloping for Stateful SystemsModel-based Property testingTaking a Stateful test to a Parallel test to a Distributed TestTSSIMPLICITY discount code for 50% offAs always, a giant Thank You goes to David Belcher for the logo design.

