Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

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

NDC Conferences via YouTube

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

Reviews

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

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.