Algebraic Data Types for C#
Offered By: NDC Conferences via YouTube
Course Description
Overview
Explore how to incorporate algebraic data types (ADTs) into C# projects in this comprehensive conference talk. Learn about the benefits of immutable sum and product types for proper problem modeling and preventing illegal states. Dive into practical implementation techniques using domain-specific languages (DSLs) and code generation. Discover how to represent ADTs with native C# constructs, implement pattern matching, and achieve partial modification. Gain insights into parsing and code generation mechanics, explore an open-source library and tool, and understand how to seamlessly integrate functional programming patterns into daily C# work. Follow along as the speaker demonstrates implementing product and union types with classes, achieving value semantics, and using a code generator for boilerplate creation. See how to define ADTs using a DSL and connect it to the code generator, creating a smooth extension for Visual Studio. Finally, witness the extensibility of generated code by adding type-class support for Functor, Applicative, and Monad, and integrating with LINQ.
Syllabus
Algebraic Data Types for C# - John Azariah
Taught by
NDC Conferences
Related Courses
Functional Programming Principles in ScalaÉcole Polytechnique Fédérale de Lausanne via Coursera Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera Paradigms of Computer Programming
Université catholique de Louvain via edX Introduction to Functional Programming
Delft University of Technology via edX Paradigms of Computer Programming – Fundamentals
Université catholique de Louvain via edX