Advanced

Advanced topics: Semigroup, Monoid, Functor

Creating Classes

A light introduction to newtype, classes, and instances.

Data Types with Parameters

Maybe takes in a type before creating a new type. Generalize that idea.

Semigroup

A Semigroup has a multiplication operation. The operation must be associative.

Functor

Functor is an abstract concept. Some concrete exercises will give something to grasp while you think about it.

Randomness

How to introduce randomness into CodeWorld animations.

Last modified November 29, 2023: Advanced Haskell coding and worksheets. (e8e2e5b)