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

2019/04/12(金)22:00 〜 23:30 開催
ブックマーク

イベント内容

概要

主に "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", "Extensible Effect"

  • [済] Comonad, ComonadApply

  • [済] Alt, Plus, Alternative

  • [済] MonadPlus, Decidable

  • [済] Parser combinators 関連ライブラリ (パッケージ)

  • [済] Foldable, Foldable1

  • [済] Bifoldable, Bifoldable1, fold 関連ライブラリ (パッケージ)

  • Traversable 関連?

    1. [済]Traversable, Traversable1
    2. [済] Bitraversable, Bitraversable1
    3. [済] Distributive, mono-traversable
    4. [済] Witherable, Compactable (番外: Selective)
  • [済] Semigroupoid, Category

  • Arrow 関連

    • [済] Arrow

    • 今回 ArrowZero, ArrowPlus, ArrowChoice, ArrowApply, ArrowLoop

    • (最終) その他

(備考) 一部型クラス名を変更する議論: semigroupoids issue#26

想定する参加者

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

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

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

第24回の内容

以下は、あくまでも 目安 にして下さい。

今回と次回でどういう題材に取り組むかは個人の裁量に一任 します。 題材予定の対象に囚われずに、興味のあることに取り組んでください。

なお、次回(第25回) が最終回 です。

題材例


余裕がある場合

  • 次回の対象: arrow (の概念)が(一部)関連していると思われるライブラリ・パッケージ

    • (注) メンテナンスがされている、ドキュメントが完備されている、使い勝手がいいとは限りません

    • Simulation

    • FRP (Arrowized FRP)

      • Yampa

        Domain-specific language embedded in Haskell for programming hybrid (mixed discrete-time and continuous-time) systems. Yampa is based on the concepts of Functional Reactive Programming (FRP) and is structured using arrow combinators

      • machinecell

        Stream processing library similar to pipes, couduit, or machines.

        Arrow combinatins are supported and can be used with the arrow notation. AFRP-like utilities are also available.

      • dunai

        Dunai is a DSL for strongly-typed CPS-based composable transformations.

        Dunai is based on a concept of Monadic Stream Functions (MSFs). MSFs are a generalisation of the implementation mechanism used by Yampa, Wormholes and other FRP and reactive implementations. ... . MSFs can be used to implement many FRP variants, including Arrowized FRP, Classic FRP, and plain reactive programming. Arrowized and applicative syntax are both supported.

    • SQL (PostgreSQL)

    • その他 (ワークフロー?)

タイムスケジュール

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

備考

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

注意事項

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

関連するイベント