~/talk

Type-Driven Development with F#

TalkinRussianat .NET fwdays'17 · on Saturday, 2017-03-25· [typescript]
slides:none on file

Demonstrates F# type-driven design using algebraic types to model domain states (e.g., shopping-cart as empty/active/paid) and a ValidEmail/InvalidEmail type so send functions only accept valid addresses. Shows keeping business logic pure with side effects confined to command handlers, reports rewriting a C# project into a ~200-line pure domain tested with property-based fuzzing, and integrating Kafka, Orleans and Elasticsearch at the infrastructure layer rather than leaking effects into the domain.

AI-written summary · about

  1. 0:00Introduction
  2. 1:04FP philosophy in F#
  3. 3:55OOP vs FP architecture
  4. 7:05Logging with FP
  5. 10:42Single Responsibility in FP
  6. 13:30Pure domain isolation
  7. 16:45ADTs in F#
  8. 18:52Type safety and validation
  9. 19:55Modeling business logic
  10. 22:43FSMs and system state
  11. 25:51Error handling
  12. 29:22Function composition
  13. 31:50Clean code and testing
  14. 34:17Commands and CQRS
  15. 37:04Property-based testing
  16. 40:36Refactoring and architecture
  17. 43:01Dates and time in FP
  18. 44:24Domain docs and scripts
  19. 45:28Correctness in software
  20. 46:55Bounded types for safety
  21. 48:39Units of measure
  22. 51:04FP future and summary
~/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.