MP3 Audio [25 MB] Download Show URL

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

@ScottWlaschin on Twitter

F# for fun and profit

Domain Modeling Made Functional

Conference Announcements

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.

Announcements

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.

Topics [@5:41]

About Scott

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

F#

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

Domain-Driven Design

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

Upcoming appearances

NDC Oslo

NDC Sydney

Open FSharp conference

NDC Conferences’ videos on Vimeo

As always, a giant Thank You goes to David Belcher for the logo design.