広告
イベントの説明
概要
主に "Typeclassopedia" に掲載されている型クラスを理解するためのもくもく会です.
毎回指定した型クラスに関する "Typeclassopedia" の内容や,型クラスに関する記事を読んだり,モジュール等で定義されている関数を確認したりソースコードを読んだりすることを各自で行います.
日時
- 毎週金曜日 22:00 ~ 23:30
- 題材によっては,早めに終えることがあります
進め方
-
題材
- 毎回,対象とする型クラスを指定します
- 必ずしも "Typeclassopedia" の列挙順で指定しません
- "Typeclassopedia" に掲載されていない型クラスを扱うことがあります
- 分量が多ければ,複数回に分けたり次回に回したりすることがあります
-
もくもく会
- 連絡事項があれば,Discord にてテキストチャットで伝えます
- 先に勉強会を終えたり時間に遅れたりしても,お構いなく.ご自分の都合を優先してください.
- 対象の型クラスを時間中に終えられず次回までに終えることが困難であれば,次回の型クラスを決定する前に管理者に伝えてください.次回の題材を調整します.
- 時間が限られているとはいえ,各回で取り上げている内容の理解をできるだけ重視してください
題材予定の型クラス
-
[済]
Semigroup,Monoid -
[済]
Functor,Bifunctor -
[済]
Contravariant,Profunctor -
[済]
Apply,Applicative,Biapply,Biapplicative,Divisible -
[済]
Bind, 基本的なMonad -
今回
MonadFail,MonadFix, ほかMonad関連 -
Monad Transformer 関連,
MonadIO
-
Extend,ComonadApply(Applicative関連だけど...),Comonad -
Alt,Plus,Alternative,MonadPlus,Decidable
Foldable,Foldable1,Bifoldable
Traversable,Traversable1,Bitraversable,Distributive
-
Semigroupoid,Category -
Arrow関連
(備考) 一部型クラス名を変更する議論: semigroupoids issue#26
想定する参加者
-
型クラスの関係を確認したい方
-
ある型クラスで,どのようなメソッドが定義されているのかを確認したい方
-
ある型クラスのメソッドが,どのように実装されているのかを確認したい方
想定していない参加者
Readerモナド,Writerモナド,Stateモナド,STモナドなどの各種モナドと,モナドトランスフォーマーの使い方を,しっかり理解したい方
第7回の内容
扱う型クラスと題材例
Monad 関連のうち興味があるもの
-
"Typeclassopedia: 5. Monad" のリンク先の記事等
-
Control.Monadの様々な関数-
base: Control.Monad- Stackage LTS 12.18 (GHC 8.4.4)
base-4.11.10
- Stackage LTS 12.18 (GHC 8.4.4)
-
-
MonadCont-
mtl: Control.Monad.Cont-
Stackage LTS 12.18 (GHC 8.4.4)
mtl-2.2.2 -
注意:
Cont,ContTはtransformer: Control.Monad.Trans.Contに存在するものをインポート
-
-
"モナドから始めない継続入門" (Genta Kamitani, 2018-01-14, Blog) 他2つ
-
"Haskell's continuation monad" (2016-12-08, quchen, GitHub)
-
-
MonadFree(Operatinal Monad)-
free: Control.Monad.Free- Stackage LTS 12.18 (GHC 8.4.4)
free-5.0.2
- Stackage LTS 12.18 (GHC 8.4.4)
-
"Freer Effectsが、だいたいわかった: 1. Freeモナドの概要" (YoshikuniJujo, 2018-01-18, Qiita)
-
"Freeモナドを超えた!?operationalモナドを使ってみよう" (fumiexcel, 2013-05-09, Blog)
-
-
MonadFail-
base: Control.Monad.Fail- Stackage LTS 12.18 (GHC 8.4.4)
base-4.11.10
- Stackage LTS 12.18 (GHC 8.4.4)
-
-
MonadFix-
base: Control.Monad.Fix- Stackage LTS 12.18 (GHC 8.4.4)
base-4.11.10
Monads having fixed points with a 'knot-tying' semantics.
base: Control.Monad.Fix
- Stackage LTS 12.18 (GHC 8.4.4)
-
"MonadFixを試す" (eihlh, 2016-10-11, Qiita)
-
"Grokking Fix" (Matt Parsons, 2016-10-26, Blog)
-
"MonadFix is Time Travel" (Will Fancher, 2017-08-22, Blog)
-
-
MonadThrow,MonadCatch,MonadMask(MonadBracket)-
exceptions: Control.Monad.Catch- Stackage LTS 12.18 (GHC 8.4.4)
exception-0.10.0
This module supports monads that can throw extensible exceptions. The exceptions are the very same from Control.Exception, and the operations offered very similar, but here they are not limited to IO.
...
This is very similar to ErrorT and MonadError, but based on features of Control.Exception
exceptions: Control.Monad.Catch
- Stackage LTS 12.18 (GHC 8.4.4)
-
safe-exceptions: Control.Exception.Safe- Stackage LTS 12.18 (GHC 8.4.4)
safe-exceptions-0.1.7.0
Safe, consistent, and easy exception handling
- Stackage LTS 12.18 (GHC 8.4.4)
-
"Haskellの例外、今はコレ! Control.Monad.Catch" (aiya000, 2017-01-22, Qiita)
-
"Haskellの例外処理" (HORIKAWA Hisashi, 2017-06-11, Blog)
-
"MonadMask vs MonadBracket" (Michael Snoyman, 2017-02-06, Blog @FP Complete)
-
-
(注意)
MonadIOとMonadTransは次回以降
タイムスケジュール
| 時刻 | 内容 |
|---|---|
| 22:00 ~ 23:10 | もくもく会 |
| 23:10 ~ 23:30 | 次回の案内 |
備考
- Typeclassopedia の内容は不定期更新されているため,毎回最新版のものを利用します
資料 資料をもっと見る/編集する
資料が投稿されると、最新の3件が表示されます。
広告

エンジニアをつなぐ
connpass は株式会社ビープラウドが開発・運営しています