Skip to content
0:00 / 0:00

#composition#fsharp#functionalprogramming

The Power of Composition - Scott Wlaschin - NDC Oslo 2020

NDC Conferences

230K subscribers • 110 videos on Hallway • Conference channel

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Scott Wlaschin

Beginner. No background in the topic needed.

18K views6 years ago1 recommendation

Programming languagesSoftware designFunctional programmingDesign patternsSoftware architecture

Scott Wlaschin explains the fundamental concept of composition in functional programming, demonstrating how to build applications by composing small functions.

Composition is a fundamental principle of functional programming, but how is it different from an object-oriented approach, and how do you use it in practice? In this talk for beginners, we'll start by going over the basic concepts of functional programming, and then look at some different ways that composition can be used to build large things from small things. After that, we'll see how composition is used in practice, beginning with a simple FizzBuzz example, and ending with a complete (object-free!) web application.

Why it's here

1 person recommends this

What people say. Recommended as an excellent, beginner-friendly introduction to functional composition and design.

Moments people linked to

u/rahulaga_devin r/functionalprogramming • Recommends

The Power of Composition - Scott Wlaschin

u/ggwpexdayin r/dotnet • Mentions

On “C# Discriminated Union: What's Driving the C# Community's Inquiries?”

That's the thing though, it fits perfectly well in an OOP language too. Just like how classes/records/tuples fit equally well in a functional language. It's that both of those things (classes and DUs) are just fundamental building blocks of data modeling, allowing for more accurate types (see this talk by Scott Wlaschin). > Introducing a new 'union entry' requires changes across the code base. This is exactly why DUs are good in a domain model, where you do want to make sure that all options are exhaustively handled. So many times I see people making the comparison between DUs and inheritance/interfaces, while honestly I believe it should be between DUs and classes instead.
3View on Reddit