新機能 イベント詳細画面に「参加者への情報」欄を追加しました。イベント管理者、発表者、参加者(抽選中や補欠は除く)だけに表示されるフィールドです。詳しくはこちら

新機能 オンラインイベントが検索できるようになりました。オンラインイベントとして検索できるようにするには こちら をご確認ください

このエントリーをはてなブックマークに追加

Oct

26

"Typeclassopedia+α" オンラインもくもく会#4

`(Bia/A)pply, (Bia/A)pplicative, Divisible`

Registration info

参加枠1

Free

Attendees
4

Description

第4回限定のお知らせ

今回は分量が多いです.そこで, 次回はMonoid, Functor, Applicative 関連の復習・やり残し・考察をする回 にする予定です.

そのため,以下などを参考にして,今回の取り組む内容は目的や力量に合わせて各自で検討して下さい:

今回の目的 今回 次回
Applicative にじっくり取り組む Apply, Applicative に取り組む Biapply, Biapplicative, Divisible に取り組む
Applicative 関連をさっと終える (Bia/A)pply, (Bia/A)pplicative に取り組む 1. 前回と Contravariant の復習を済ませて, Divisible に取り組む
2. 各型クラスのインスタンスを実装して,満たすべき法則を満たしているかを確認する
Applicative 関連を全部終える (Bia/A)pply, (Bia/A)pplicative, Divisible に取り組む MonoidApplicative の関係を考える. Profunctor に相当する Applicative というものは存在するのかを考える.
各型クラスのインスタンスを実装して,満たすべき法則を満たしているかを確認する.ソースコードを確認する
Biapplicative には Applicative のような満たすべき法則は存在しないのかを考察する
各型クラスのそれぞれのインスタンスにおいて,メソッドがどのようなことを実行するかを再考する.各型クラスの使い所を再考する
inspection-testingquickcheck-classes を使ってみる

概要

主に "Typeclassopedia" に掲載されている型クラスを理解するためのもくもく会です.

毎回指定した型クラスに関する "Typeclassopedia" の内容や,型クラスに関する記事を読んだり,モジュール等で定義されている関数を確認したりソースコードを読んだりすることを各自で行います.

日時

  • 毎週金曜日 22:00 ~ 23:30
  • 題材によっては,早めに終えることがあります

進め方

  • 題材

    • 毎回,対象とする型クラスを指定します
    • 必ずしも "Typeclassopedia" の列挙順で指定しません
    • "Typeclassopedia" に掲載されていない型クラスを扱うことがあります
    • 分量が多ければ,複数回に分けたり次回に回したりすることがあります
  • もくもく会

    • 連絡事項があれば,Discord にてテキストチャットで伝えます
    • 先に勉強会を終えたり時間に遅れたりしても,お構いなく.ご自分の都合を優先してください.
    • 対象の型クラスを時間中に終えられず次回までに終えることが困難であれば,次回の型クラスを決定する前に管理者に伝えてください.次回の題材を調整します.
    • 時間が限られているとはいえ,各回で取り上げている内容の理解をできるだけ重視してください

題材予定の型クラス

  • [] Semigroup, Monoid

  • []Functor, Bifunctor

  • [済] Contravariant, Profunctor

  • 今回 Apply, Applicative, Biapply, Biapplicative, Divisible

  • Bind, Monad

  • Extend, ComonadApply, Comonad

  • Alt, Plus, Alternative, MonadPlus, Decidable

  • Foldable, Bifoldable

  • Traversable, Bitraversable, Distributive

  • Semigroupid, Category

  • Arrow, ArrowZero, ArrowPlus, ArrowChoice, ArrowApply, ArrowLoop

想定する参加者

  • 型クラスの関係を確認したい方

  • ある型クラスで,どのようなメソッドが定義されているのかを確認したい方

  • ある型クラスのメソッドが,どのように実装されているのかを確認したい方

想定していない参加者

  • Reader モナド, Writer モナド, State モナド, ST モナドなどの各種モナドと,モナドトランスフォーマーの使い方を,しっかり理解したい方

第4回の内容

注意

  1. Apply および Biapply, Biapplicative, Divisible は, Typeclassopedia に非掲載です
  2. Apply および Biapply, Biapplicative, Divisible は, base には導入されていません
  3. 分量が多いので,第5回に持ち越します

扱う型クラスと題材例

  1. Apply

    • semigroupoids: Data.Functor.Apply

      • Stackage LTS 12.14 (GHC 8.4.3): semigroupoids-5.2.2

      • Hackage: semigroupoids-5.3.1

        • 追加されたインスタンス
          • base-4.11.1.0Control.Applicative のインスタンスと関連:
            • Apply Min, Apply Max, Apply First, Apply Last, Apply Dual, Apply Sum, Apply Product, Apply Down
            • Apply Par1
            • Apply f => Apply (Alt f)
            • Apply f => Apply (Rec1 f), (Apply f, Apply g) => Apply (f :*: g), Apply f => Apply (M1 i t f), (Apply f, Apply g) => Apply (f :.: g)
          • base-4.12.0.0Control.Applicative のインスタンスと関連:
            • Semigroup c => Apply (K1 i c :: * -> *)
          • それ以外: Apply (V1 :: * -> *)
  2. Applicative

  3. Biapply

  4. Biapplicative

  5. Divisible

タイムスケジュール

時刻 内容
22:00 ~ 23:20 もくもく会
23:20 ~ 23:30 次回の案内

備考

  • Typeclassopedia の内容は不定期更新されているため,毎回最新版のものを利用します

Media View all Media

If you add event media, up to 3 items will be shown here.

Feed

lawtwai

lawtwai wrote a comment.

2018/10/21 09:52

次回の予定を追記しました

lawtwai

lawtwai published "Typeclassopedia+α" オンラインもくもく会#4.

10/19/2018 23:26

"Typeclassopedia+α" オンラインもくもく会#4 を公開しました!

Group

Haskell with Skype

Number of events 110

Members 64

Ended

2018/10/26(Fri)

22:00
23:30

Registration Period
2018/10/19(Fri) 23:00 〜
2018/10/26(Fri) 23:30

Location

Discord

基礎理論およびDM

Organizer

Attendees(4)

lawtwai

lawtwai

"Typeclassopedia+α" オンラインもくもく会#4 に参加を申し込みました!

fishii

fishii

"Typeclassopedia+α" オンラインもくもく会#4 に参加を申し込みました!

宇佐見 公輔

宇佐見 公輔

"Typeclassopedia+α" オンラインもくもく会#4 に参加を申し込みました!

deniyung

deniyung

"Typeclassopedia+α" オンラインもくもく会#4 に参加を申し込みました!

Attendees (4)