/ctfp-book-club

Pittsburgh Functional Programming Book Club featuring Category Theory for Programmers by Bartosz Milewski

Primary LanguageRust

** Postponed until further notice, see #37 **

ctfp-book-club

Pittsburgh Functional Programming Book Club featuring Category Theory for Programmers by Bartosz Milewski. The content for the book can be found on github. Additionally, print copies can be purchased from blurb. This repository is going to serve a few purposes:

  1. Describe the Motivations behind hosting this book club
  2. Describe the Format of our book club
  3. Contain code from exercises submitted by various folks in our group
  4. Show the Schedule and Guidelines for Participation

Motivations

In no particular order,

  • Understand practical applications of category theory, e.g. databases
  • Understand "categorical semantics" sections of literature
  • Fully realizing the various typeclasses
  • Explore foundational aspects of computer science
  • Whether or not this can be used as a modern educational tool
  • Understand design decisions of programming languages
  • Discover relationships in the semantics of programming language

Format

The book club will meet once per month on the third Monday of the month starting on October 21st 2019. We will be broadcasting our conversations live on my twitch channel. We will be using zoom to do our video conferencing.

Each week we will discuss chapters or topics from the book (see Schedule). We will work our way through discussing the content as well as what is requested via Zoom or Twitch chat. If we encounter exercises, we will compare and contrast solutions.

Regarding exercises, attendees will submit code in the exercises/ directory via a PR to exercises/{user}/chapter{N} where {user} is your Github username and {N} is the chapter we are working on. An example PR is available here. Please provide some details in a top-level README.md about how to run your examples.

Regarding past content, discussion and comments on past material is encouraged however jumping forward in the book will be discouraged. We want folks to be able to catch up and not leave them behind.

Schedule

All streams will start at 7:30 PM EST

Proposed Curriculum

We realized that at the rate we are going it will take ~3 years to complete the book. This didn't sit well with some of us. We had 2 options; increase the frequency of meetings, or increase the volume of reading per meeting. Meeting more frequently is more onerous on everyone's already busy schedules, however going over more material while meeting with the same cadence constrains the depth conversation. Our solution is to add more volume, but use issues (e.g. #19) to narrow down to the important discussion points. Anyways, here is the proposed curriculum moving forward. The idea is that we will complete up to Section 3 by July, and re-evaluate interest in continuing forward!

February 17th

March 16th

April 20th

May 18th

July 20th

August 17th

Suggested Week

Note: This week will be really hard, Rep. Functors and Yoneda are heavily related but both very difficult

Suggested Week

Guidelines for Participation

We are encouraging active participation in the book club from anyone interested. To be involved you should tune into the stream during the scheduled times where a link to the Zoom conference as well as a password will be provided to. In Zoom we will use the raise hand feature to determine who can talk. You will only be warned once for not following the rules. If you break the rules I will remove you from the call. If you are discussing anything inappropriate I will remove you immediately.

Pull requests to this repository will be accepted if they follow the guidelines from the Format section. They will not be checked for correctness.