Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 

tutorial-cat

Code for the Pragmatic Introduction to Category Theory.

Slides and video are now available online!

Installation

  • clone the repo
  • sbt test:compile
  • sbt run
  • if you see the secret message you are good to go!

Agenda

Intro

Monoid

  • Define a monoid for Int
  • Define a monoid for String

sbt 'testOnly *Monoid*'

Functor

  • Define a functor for Maybe
  • Define a functor for ZeroOrMore

sbt 'testOnly *Functor*'

Applicative

  • Define map in terms of ap and pure
  • Define an applicative for Maybe
  • Define an applicative for ZeroOrMore

sbt 'testOnly *Applicative*'

Monad (1)

  • Define flatten using flatMap
  • Define map using flatMap and pure
  • Define ap using flatMap and map

Monad (2)

  • Define a monad for Maybe
  • Define a monad for ZeroOrMore

sbt 'testOnly *Monad*'

Solutions

Solution of the exercises are available here

About

Workshop Pragmatic Introduction to Category Theory

Resources

License

Releases

No releases published

Packages

No packages published

Languages