Thirteen Ways of Looking at a Turtle - Functional Programming in Practice
Offered By: NDC Conferences via YouTube
Course Description
Overview
Explore thirteen different implementations of turtle graphics in this comprehensive conference talk. Dive into various functional programming techniques, including partial application, functional dependency injection, validation with Success/Failure results, the Either monad, the State monad, agents with message queues, event sourcing, stream processing, capability-based design, and the interpreter pattern. Gain a quick overview of functional programming in practice, starting with the well-known turtle graphics API and stretching it to its limits. Learn how to transform functions, handle errors, implement async operations, convert functions into data, process commands and events, and create capability-based APIs. Discover common patterns and practical applications of partial application, API coupling, and interpreter design. Perfect for FP-curious developers seeking a fast-paced introduction to functional programming concepts and their real-world applications.
Syllabus
Intro
Turtle API
Advantages and disadvantages
Transforming the function #1
How to return errors?
Implementation usine Result
What if the Turtle calls were async?
Async usage example
Review: Common patterns
How to convert a function into data?
"execute" implementation
"run" implementation
Pulling commands off a queue
Command vs. Event
Turtle stream processing example
Same for the Turtle client
Overview
Partial application in practice
APls create coupling
Create a "Program" type
Turtle Interpreter
Distance Interpreter
Capability-based API
Taught by
NDC Conferences
Related Courses
Cloud Computing Concepts: Part 2University of Illinois at Urbana-Champaign via Coursera Programming Reactive Systems
École Polytechnique Fédérale de Lausanne via edX Data Engineering on Google Cloud Platform en Français
Google Cloud via Coursera Architecting Stream Processing Solutions Using Google Cloud Pub/Sub
Pluralsight Developing Stream Processing Applications with AWS Kinesis
Pluralsight