~/talks

Mark Seemann

what they talk about

all 10 in the filters

where they keep going back

all 10 in the filters

on a stage with

who talks about the same things

titleconferencedate
Discussion: Are Free Monads Really Free?fsharpConf 20232023-06-26
Claim: free monads solve interleaving pure and impure code, but in F# practical tools like interfaces, dependency injection, async result and computation…
Talk on
Fractal ArchitectureNDC Oslo 20222022-09-26
Argues that cutting time spent reading code beats shaving write time, with concrete measures: use cyclomatic complexity and object activation count (example…
Talk on
Fractal ArchitectureNDC Melbourne 20222022-06-20
Claims that reading dominates development time and that reducing cognitive load yields bigger productivity gains than faster typing; measures code by…
Talk on
Fractal ArchitectureNDC Porto 20222022-04-25
Claim: cutting reading time boosts productivity far more than shaving edit time, achieved by designing code to fit in short‑term memory using encapsulation…
Talk on
Async injectionNDC Minnesota 20192019-05-06
Claims a concrete pattern: move impure DB calls to the edge, change repository reads to produce Task or collections and inject decision logic into the async…
Talk on
Async injectionNDC Copenhagen 20192019-03-27
Claims a way to combine dependency injection with async/await without leaking async into domain code by treating async as a monad and moving impure operations…
Talk on
Async injectionNDC Porto 20192019-02-26
Shows how to stop async leaking into the domain by treating C# async as a monad and injecting behavior into the Task<T> monad instead of changing domain…
Talk on
Async injectionNDC London 20192019-01-30
Shows how to keep domain code synchronous while IO stays async by moving impure operations to the boundary, refactoring nullable returns into a composable…
Talk on
Get value out of your monadNDC Sydney 20182018-09-17
Argues that the right answer to “how do I get the value out of my monad” is to stop extracting values and inject behavior into the monad, using C# examples…
Talk on
Dependency Injection revisitedNDC Oslo 20182018-06-11
Over the last decade, Dependency Injection has moved from obscurity into the realm of something that every library and framework must address. During the same…
Talk on
Dependency Injection revisitedNDC Minnesota 20182018-05-07
Argues that dependency injection can be modeled as a tiny DSL and implemented in C# by translating an interface into a functor, then a free monad via Church…
Talk on
From dependency injection to dependency rejectionBuild Stuff 20172017-11-15
Argues that partial application in F# is equivalent to constructor injection (it compiles to a class with three fields and a constructor) but that pattern is…
Talk on
.NET Fest 2017.NET Fest 20172017-10-28
Conference highlight reel from 28 октября 2017 shows an organized one-day event with three tracks, on-stage interviews with Dino Esposito and Mark Seemann…
Talk on
From Dependency injection to dependency rejection..NET Fest 20172017-10-28
Claim: dependency injection in OO maps to partial application equals constructor injection at the IL level but that pattern is not truly functional. Demo: F#…
Talk on
From Dependency injection to dependency rejectionNDC London 20172017-01-16
Shows a concrete restaurant-reservation example implemented in C#, F# and Haskell and claims that partial application compiles to constructor injection — the…
Talk on
Functional architecture - The pits of successNDC Sydney 20162016-08-01
Argues that functional code naturally produces ports-and-adapters structure by forcing a strict pure vs impure boundaries discipline; demonstrates with F# and…
Talk on
One kata, three languagesNDC Sydney 20162016-08-01
Live coding implements FizzBuzz for numbers 1 to 100 in C#, Haskell and Clojure and compares idioms and testability. Haskell version uses the GHCi REPL…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.