This course teaches a simple, high-performance effect system based on tag unions for modeling effects in a functional way. The learning outcomes include understanding how to mix I/O operations that can fail in different ways, enforce compile-time checks on effects, and identify functions using specific effects. The course covers topics such as tag unions, tag union types, operation simulation, and task wrappers. The teaching method involves a presentation by a functional programming language expert, with a focus on practical implementation in programming languages like Roc and OCaml. The intended audience for this course includes software engineers, programmers, and individuals interested in functional programming and software development.
Overview
Syllabus
Introduction
Package Downloader
Download tarball
What is an enum
Using an enum
Advantages of enums
GetEncoding
Logging
Tag Unions
Tag Union Types
William Brandon
Operation
Simulation
Task wrapper
Runtime representation
No Heap allocations
Summary
Taught by
GOTO Conferences