~/talk

Introduction to T(ype)DD with F# and Reactive Web Apps with Fable.io

TalkinFrenchat ScalaIO 2019 · 2019-10-29..10-31· [functional-programming, typescript]
name:F. Pellet
links:none on file
links:none on file
slides:none on file

Shows how using F# algebraic (union) types and pattern matching to model the tennis kata makes impossible states unrepresentable so the compiler catches many bugs. The F# implementation compiles to a reactive browser app via Fable and Elmish, using dotnet/VS Code, and the approach halves the example’s state space, yields compiler warnings for missing cases, and reduces the needed unit/property tests.

AI-written summary · about

  1. 0:00Type-Driven Development intro
  2. 1:26Tennis scoring in C#
  3. 4:38Impossible states with types
  4. 8:53Algebraic types in F#
  5. 11:02Score with restricted types
  6. 13:16Advantage with types
  7. 17:21Types aligned with business
  8. 19:06Functional score implementation
  9. 27:34Demo and quick feedback with F#
  10. 35:12Reactive architecture with Fable.io
  11. 37:38Live web app demo
  12. 38:46Types with Domain-Driven Design
  13. 40:51Advanced type system benefits
  14. 41:35Q&A
  15. 44:23C# and F# interop recap
  16. 47:21Progressive functional programming adoption
  17. 48:12Types aligned with needs
  18. 50:00Property-Based Testing with types
  19. 52:13Conclusion
~/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.