In this episode I talk with Scott Wlaschin. We talk on the topic of his upcoming book Domain Modeling Made Functional, and using F# (and ML family type system languages) with Domain Driven Design.
Our Guest, Scott Wlaschin
Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.
Scala Wave 2017 will be taking place July 7th and 8th. Visit scalawave.io to find out more and to register.
O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.
EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.
BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.
The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.
PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements.
Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register.
RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register.
LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.
CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Some 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.
Scott on Functional Geekery Episode 66
Scott on Three Devs and a Maybe
Programming Like Functions Matter with Jimmy Burrell and Scott Wlaschin
The Tale of State and Behaviour, Part 1 with Scott Wlaschin
The Tale of State and Behaviour, Part 2 with Scott Wlaschin
Scott’s upcoming book Domain Modeling Made Functional
How the book came about
Using F# for Business Domain modeling
Balancing the formalistic mathematical side with the humanistic side of software
Building the thing right vs building the right thing
F#’s ability to evolve software while keeping aligned to the domain
Ability to lean on the compiler more in ML family languages
Ease, simplicity, and conciseness of adding new domain types
Domain types as concepts separated from their underlying serialization format
Benefit of immutable data in the domain
Ability to focus on domain logic and not defensive programming
Evolving type definitions as the domain logic evolves
Refactoring transformations vs state mutation changes
Abstraction vs Concretion in modeling the domain
Sum/Product Types vs Generic Types in modeling the domain
Ability to model against types without knowing what the types actually are
Monoid – ability to combine two types to make a larger type
“The principles don’t change”
Getting more people to talk about integrating Domain Driven Design and functional programming
Trying to organize the narrative of a book
Overview of what the book’s audience and organization will be
“I wanted to make something approachable”
Demystifying functional programming
Showing people with the focus on practical things over academic things
Lessons learned on not building the right thing
Outline of Scott’s book
Order processing system as example domain
Thirteen ways of looking at a turtle
Open FSharp conference
NDC Conferences’ videos on Vimeo
As always, a giant Thank You goes to David Belcher for the logo design.