Type-Driven Development with F#

Pluralsight
Course Summary
Learn how to use the superior type system of F# to get rapid feedback on your design, how to rapidly evolve a prototype, and how to produce a final product based on the knowledge learned from creating the prototype.
-
+
Course Description
Learn how to use the strong type system of F# to your advantage – not only to check for correctness, but also in iterative development with short feedback cycles. You can use the type system to get rapid feedback about design ideas and implementation details, but also to get guidance on what to do next. Due to F#’s strong type inference, the type system of the language can be used in ways not available in C#, Java, or similar strongly typed languages. Learn how to combine the safety of static typing with the ease of development typically only offered by dynamically typed languages. The combination though, is even stronger than the mere sum of its parts.
-
+
Course Syllabus
Feedback from Types- 44m 18s
—Introduction 1m 43s
—Course Outline and Prerequisites 2m 19s
—In This Module 0m 23s
—Type-Driven and Test-Driven Development 0m 56s
—If It Compiles, It Works? 0m 30s
—F# Type System 0m 50s
—Introduction to the Polling Consumer Example 3m 18s
—Demo Introduction: Capturing Time 0m 32s
—Demo: Capturing Time 8m 21s
—Demo Recap: Capturing Time 0m 38s
—Demo Introduction: Measuring Time 0m 35s
—Demo: Measuring Time 7m 2s
—Demo Recap: Measuring Time 0m 18s
—Demo Introduction: Clocks 0m 58s
—Demo: Clocks 14m 49s
—Demo Recap: Clocks 0m 20s
—Summary 0m 38sBehavior- 53m 2s
—Introduction 1m 25s
—Outside-In Development 1m 27s
—Help from Types 1m 35s
—Finite State Machine Recipe 1m 39s
—Polling Consumer Finite State Machine 1m 41s
—Demo Introduction: Itemizing States 0m 40s
—Demo: Itemizing States 3m 15s
—Demo Recap: Itemizing States 0m 44s
—Finite State Machine Recipe Step 1 and 2 1m 24s
—Demo Introduction: Transition from Stopped 0m 26s
—Demo: Transition from Stopped 1m 53s
—Demo Recap: Transition from Stopped 0m 25s
—Degenerate Cases 0m 41s
—Demo Introduction: Transition from No Message 0m 39s
—Demo: Transition from No Message 6m 54s
—Demo Recap: Transition from No Message 1m 39s
—Demo Introduction: Transition from Ready 0m 35s
—Demo: Making the Transition Function Compile 5m 23s
—Demo: Adding Statistics 5m 9s
—Demo: Adding a Message Handler 2m 37s
—Demo: Closing Over a Message 2m 58s
—Demo Recap: Transition from Ready 2m 21s
—Demo Introduction: Transition from Received 0m 25s
—Demo: Transition from Received 4m 42s
—Demo Recap: Transition from Received 0m 34s
—Summary 1m 38sImplementation- 52m 39sStabilizing Transitions- 33m 19sStabilizing Execution- 38m 21sFinishing Touches- 15m 6s