~/talk

Get value out of your monad

Talkat NDC Sydney 2018 · 2018-09-17..09-21· [functional-programming, dotnet]
slides:none on file

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: Lazy, Task, LINQ Select, Maybe/Option and a reservation example that moves DB reads/writes to the boundary (hexagonal ports/adapters). Demonstrates implementing select many/flatten for nested monads so domain code stays synchronous and pure while the controller handles Task and DB side effects, producing working async endpoints without leaking Task into core logic.

AI-written summary · about

  1. 0:00Start
  2. 1:35How Do I Combine Dependency Injection with a Sink and a Weight without Leaky Abstractions
  3. 1:56A Restaurant Reservation System
  4. 2:57Core Logic
  5. 5:36Domain Driven Design
  6. 13:02The Xy Problem
  7. 14:00How Do I Get the Value out of My Monad
  8. 14:47Structure Preserving Projection
  9. 15:21Apply a Function to each Element in a Collection
  10. 19:10Select Method
  11. 22:13Query Syntax
  12. 22:48What a Monad Is
  13. 29:06Generic Type Constraints
  14. 35:07Create a Contract
  15. 40:44Projection Function
  16. 41:39Move the Impure Operations to the Boundary of the System
  17. 42:04Port and Adapters
  18. 43:28Repository Create
  19. 53:06Compiler Warning
~/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.