BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//connpass.com//Connpass//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALDESC:connpass-"Typeclassopedia+α" オンラインもくもく会#
 3
X-WR-CALNAME:connpass-"Typeclassopedia+α" オンラインもくもく会#
 3
X-WR-TIMEZONE:UTC
BEGIN:VEVENT
SUMMARY:"Typeclassopedia+α" オンラインもくもく会#3
DTSTART:20181019T130000Z
DTEND:20181019T143000Z
DTSTAMP:20261013T230922Z
CATEGORIES:
CREATED:20181011T225116Z
DESCRIPTION:## 第3回限定の内容\n\n### 第2回における管理者
 の不備と現状\n\n前回 のイベントに，管理者が参加でき
 ませんでした．参加者の方にご迷惑をおかけしました
 ，申し訳ございませんでした．\n\nオンライン上のもく
 もく会ということもあり，（以後，前回のようなこと
 が発生しないようにしますが）管理者が参加しなくて
 もイベントが開催されたことになり得ます．\n前回の最
 後に次回の内容を確認できずに終了時刻を迎えたため
 ，今回どれを対象にすべきか判断しにくい状況にあり
 ます．\n\n### 今回の題材決定方法\n\n勉強会開始時に `Fun
 ctor` と `Bifunctor`\nを終えたかどうかを参加者の方に確認
 します．その内容次第で，以下のように今回の対象を
 決定することにします．\n\n確認した結果 | 今回の対象 
  \n---|---  \n両方終えていない人が過半数を占める | `Funct
 or` と `Bifunctor`  \n`Functor` のみを終えた人が過半数を占
 める | `Bifunctor` と `Contravariant`  \n`Functor` と `Bifunctor` の
 両方を終えた人が過半数を占める | `Contravariant` と `Profu
 nctor`  \n  \n# 概要\n\n主に "Typeclassopedia" に掲載されてい
 る型クラスを理解するためのもくもく会です．\n\n毎回
 指定した型クラスに関する "Typeclassopedia"\nの内容や，型
 クラスに関する記事を読んだり，モジュール等で定義
 されている関数を確認したりソースコードを読んだり
 することを各自で行います．\n\n## 日時\n\n  * 毎週金曜
 日 22:00 ~ 23:30\n  * 題材によっては，早めに終えることが
 あります\n\n## 進め方\n\n  * 題材\n\n    * 毎回，対象とす
 る型クラスを指定します\n    * 必ずしも "Typeclassopedia" 
 の列挙順で指定しません\n    * "Typeclassopedia" に掲載され
 ていない型クラスを扱うことがあります\n    * 分量が多
 ければ，複数回に分けたり次回に回したりすることが
 あります\n  * もくもく会\n\n    * 連絡事項があれば，Disc
 ord にてテキストチャットで伝えます\n    * 先に勉強会
 を終えたり時間に遅れたりしても，お構いなく．ご自
 分の都合を優先してください．\n    * 対象の型クラスを
 時間中に終えられず次回までに終えることが困難であ
 れば，次回の型クラスを決定する前に管理者に伝えて
 ください．次回の題材を調整します．\n    * 時間が限ら
 れているとはいえ，各回で取り上げている内容の理解
 をできるだけ重視してください\n\n## 題材予定の型クラ
 ス\n\n  * [済] `Semigroup`\, `Monoid`\n\n  * [済?]`Functor`\, `Bifuncto
 r`\n\n  * `Contravariant`\, `Profunctor`\, `Choice`\, `Cochoice`\, `Strong
 `\, `Costrong`\n\n  * `Apply` (`Ap`)\, `Applicative`\, `Biapply`\, `Biappl
 icative`\, `Divisible`\n\n  * `Bind`\, `Monad`\, `ComonadApply`\, `Comonad
 `\n\n  * `Alt`\, `Plus`\, `Alternative`\, `MonadPlus`\, `Decidable`\n\n  *
  `Foldable`\, `Traversable`\, `Bifoldable`\, `Bitraversable`\, `Distributi
 ve`\n\n  * `Semigroupid`\, `Category`\n\n  * `Arrow`\, `ArrowZero`\, `Arro
 wPlus`\, `ArrowChoice`\, `ArrowApply`\, `ArrowLoop`\n\n### 想定する参
 加者\n\n  * 型クラスの関係を確認したい方\n\n  * ある型
 クラスで，どのようなメソッドが定義されているのか
 を確認したい方\n\n  * ある型クラスのメソッドが，どの
 ように実装されているのかを確認したい方\n\n### 想定し
 ていない参加者\n\n  * `Reader` モナド\, `Writer` モナド\, `St
 ate` モナド\, `ST` モナドなどの各種モナドと，モナドト
 ランスフォーマーの使い方を，しっかり理解したい方\n
 \n## 第3回の内容\n\n### 注意\n\n  1. `Contravariant` および `Pro
 functor` は\, Typeclassopedia に非掲載です\n  2. `Profunctor` は `
 base` には導入されていません\n  3. Stack の LTS Haskell にお
 いて，しばらく GHC 8.6.* 対応のものが提供されない可能
 性があるため，`Contravariant` を使用するには `contravariant`
  パッケージを直接使った方がよいかと思います\n     * T
 rac: Derived Ord instance for enumerations with more than 8 elements seems
  to be incorrect\n     * Stackage GitHub: ghc 8.6.1 has a critical bug\n  
 4. `Profunctor` は本当は後でやる方が良いようですが，後
 に扱う型クラスの際に「あれ，どこがで見たことがあ
 る？」という効果を期待して(？)，今回取り上げます\n\
 n### 扱う型クラスと題材例\n\n  1. 前回の分を対象とする
 ことになった場合: 前回の型クラス\n\n  2. `Contravariant`\n\
 n     * `base: Data.Functor.Contravariant`\n\n       * Hackage (GHC 8.6.1)
 : base-4.12.0.0 (since base-4.12.0.0)\n\n>        * Move the module Data.F
 unctor.Contravariant from the contravariant\n> package to base.\n>\n> http
 s://hackage.haskell.org/package/base-4.12.0.0/changelog\n\n     * `contrav
 ariant: Data.Functor.Contravariant`\n\n       * Stackage LTS 12.13 (GHC 8.
 4.3): contravariant-1.4.1\n     * "Understanding contravariance" (Typeclas
 s\, Blog)\n\n     * "24 Days of Hackage: contravariant" (Oliver Charles\, 
 2013-12-21\, Blog)\n\n  3. `Profunctor`\n\n     * `profunctors: Data.Profu
 nctor`\n\n       * Stackage LTS 12.13 (GHC 8.4.3): profunctors-5.2.2\n\n  
      * Hackage: profunctors-5.3\n\n         * `(Profunctor p\, Profunctor 
 q) => Profunctor (Sum p q)` を追加 (`bifunctors` の `Data.Bifunctor.Su
 m` に対応)\n     * "Understanding profunctors" (Typeclass\, Blog)\n\n  
    * "24 Days of Hackage: profunctors" (Oliver Charles\, 2013-12-22\, Blog
 )\n\n     * "Profunctors in Haskell" (Dan Piponi\, 2011-06-23\, Blog)\n\n 
     * "Don't Fear the Profunctor Optics (Part 2/3)" (Jesús López-Gonzál
 ez\, 2017-10-07\, Markdown @GitHub)\n\n  4. まとめ\n\n     * "I love pr
 ofunctors. They're so easy." (Liyang HU\, 2013-10-16\, Blog @School of Has
 kell)\n\n     * "Covariance and Contravariance" (Michael Snoyman\, 2016-11
 -09\, Blog @FP Complete)\n\n### タイムスケジュール\n\n時刻 | 
 内容  \n---|---  \n22:00 ~ 23:20 | もくもく会  \n23:20 ~ 23:30 | 
 次回の案内  \n  \n## 備考\n\n  * Typeclassopedia の内容は不定
 期更新されているため，毎回最新版のものを利用しま
 す\n\nhttps://haskell-with-skype.connpass.com/event/104792/
LOCATION:基礎理論およびDM (Discord)
URL:https://haskell-with-skype.connpass.com/event/104792/
END:VEVENT
END:VCALENDAR
