"Thinking with Types" 読書会 #10

イベント内容

概要

"Thinking with Types -Type-Level Programming in Haskell-" (Sandy Maguire, Leanpub) の読書会 (もくもく会)です。

今回が 最終回 です。

目的

  • Haskell (GHC) の型システムや型レベルプログラミング,ジェネリックプログラミングを理解するための,はじめの一歩

  • 以下は,サイトの 'About the Book' から一部を抜粋:

    Without further ado, I'd like to introduce Thinking with Types: Type-Level Programming in Haskell—the comprehensive guide to unleashing the power of Haskell's type-system. In it, we'll cover topics like erasing boilerplate with GHC.Generics, building extensible data-types, and how to generate error messages meant for humans when things go wrong.

書籍について

サンプルPDF

サイト の最下部に,以下の項目が掲載されているサンプル PDF のリンクがあります:

  • 'Chapter1 The Algebra Behind Types'
  • 'Chapter3 Variance'
  • 'Chapter4 Walking with Types'
  • 'Chapter5 Constraints and GADTs'

書籍の購入前またはイベント参加登録前に,サンプル PDF を一度見ておくことを推奨します。

リポジトリ

著者である Sandy Maguire さんのリポジトリ isovector/thinking-with-types (CC BY-NC-ND 4.0) において,書籍に書かれている内容を.tex で確認することができます。

以下は,README.md の Overview より転載:

This repository is all of the original source material for my book Thinking with Types: Type-Level Programming in Haskell. If you're curious about what goes into writing a book, it might be a good place to peruse.

Building this thing is particularly hard; I had to write three separate build tools, and patch a few upstream libraries. You're free to try to figure it out, but I'd suggest just buying a copy instead!

Don't make me regret open-sourcing this.

注意

  • この書籍によって,Haskell (GHC) の型システムや型レベルプログラミング,ジェネリックプログラミングを完全に理解できると明言できません。この書籍の位置付けとしては,それらを理解するための手助けやはじめの一歩と捉えるとよいと思われます。

  • 『型システム入門』や『プログラミング言語の基礎概念』と取って代わる書籍ではないと思われます。

参加者

対象とする参加者

  • Haskell (GHC) の型システムや型レベルプログラミング,ジェネリックプログラミングに興味ある方

  • 以下は,書籍のサンプル PDF に掲載されている 'Introduction' (P.1) から一部を抜粋:

    So whom is this book for? The target audience I’ve been trying to write for are intermediate-to-proficient with the language. They’re capable of solving real problems in Haskell, and doing it without too much hassle. They need not have strong opinions on ExceptT vs throwing exceptions in IO, nor do they need to know how to inspect generated Core to find performance bottlenecks.

備考

この書籍を読み終えた後に,書籍の内容に関連する論文や GHC User's Guide の節を読む勉強会を予定してはいます (実際に行えるかは明言できません)。

対象としていない参加者

  • polysemy の使い方を理解したい方・使いたい方

進め方

  • Discord のテキストチャンネルをベースに,もくもく会を行ないます。

  • 画面共有を使ったり音声共有で会話したりして,わからないことの確認や議論したい方もいるかもしれませんので,そのような方向けに音声チャンネルを作成しています。ただし,音声チャンネルは,あくまでも予備的 なものです。画面共有や音声共有が不要な方は,音声チャンネルに参加する必要はなく,何かあればテキストチャンネルに書き込んでください。

内容

参加者個々人で,読み進めるペースは異なるとか思います。ご自分の関心とペースに基づいて,書籍を読み進めることを推奨します。

(参考) 管理者の予定しているペース

10回あれば書籍を読み終えることができると,管理者は想定しています。以下は,この勉強会は10回で終了するという前提を踏まえた,管理者が予定しているペースを参考として掲載しているに過ぎません。

回数 日付 主催者が予定しているペース
01 2019-07-05 Introduction ~ Chapter 2
02 2019-07-12 Chapter 3 ~ Chapter 5
03 2019-07-19 Chapter 6 ~ Chapter 8
04 2019-07-26 Chapter 9 ~ Chapter 10
05 2019-08-02 Chapter 11 ~ Chapter 12
06 2019-08-09 Chapter 13
07 2019-08-16 Chapter 14
08 2019-08-23 Chapter 15
2019-08-30
2019-09-06
09 2019-09-13 関連するブログ記事や論文・GHC User's Guide を読む (1)
10 2019-09-20 関連するブログ記事や論文・GHC User's Guide を読む (2)

注意事項

※ こちらのイベント情報は、外部サイトから取得した情報を掲載しています。
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。

類似しているイベント