YoVDO

Thirteen Ways of Looking at a Turtle - Functional Programming in Practice

Offered By: NDC Conferences via YouTube

Tags

NDC Conferences Courses Functional Programming Courses Monads Courses Stream Processing Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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 2
University 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