"Typeclassopedia+α" オンラインもくもく会#25
イベント内容
概要
主に "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関連? -
[済]
Semigroupoid,Category -
Arrow関連
(備考) 一部型クラス名を変更する議論: semigroupoids issue#26
想定する参加者
-
型クラスの関係を確認したい方
-
ある型クラスで,どのようなメソッドが定義されているのかを確認したい方
-
ある型クラスのメソッドが,どのように実装されているのかを確認したい方
第25回の内容
最終回 です。
題材例
arrow (の概念)が(一部)関連していると思われるライブラリ・パッケージ
-
(注) メンテナンスがされている、ドキュメントが完備されている、使い勝手がいいとは限りません
-
Simulation
-
Aivika is a discrete event simulation (DES) framework with support of activity-oriented, event-oriented and process-oriented paradigms
- "Aivika:Computation-based Modeling and Simulation in Haskell"(David E. Sorokin, 2018-02-10, PDF): (注意) 150ページ
-
-
FRP (Arrowized FRP)
-
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
-
"YampaでFunctional Reactiveな認知行動療法ボット" (makoraru, 2018-01-01, Qiita)
- 実装 (nishiuramakoto, cbt-slack-bot, github)
-
"Haskellプログラミング講座(上級編:ゲーム)" (2014-10-18 ~ 2015-07-30, bitterharvest, blog):
Yampa,netwireなどの例が記載されているようです
-
-
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.
- "Arrow化pipeはFRPの夢を見るか?" (as_capabl, 2014-07-01, Qiita)
-
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.
- "Functional Reactive Programming, Refactored"(2016-07-12, Paper): very detailed introduction to MSFs
-
-
SQL (PostgreSQL)
-
An SQL-generating DSL targeting PostgreSQL.
Allows Postgres queries to be written within Haskell in a typesafe and composable fashion
-
-
その他 (ワークフロー?)
-
An arrow with resumable computations and logging
- "Funflow: typed resumable workflows" (Tweag I/O, 2018-04-25, blog)
-
タイムスケジュール
| 時刻 | 内容 |
|---|---|
| 22:00 ~ 23:30 | もくもく会 |
| 23:20 ~ 23:30 | 次回の案内 |
備考
- Typeclassopedia の内容は不定期更新されているため,毎回最新版のものを利用します
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。
新規会員登録
このイベントに申し込むには会員登録が必要です。
アカウント登録済みの方はログインしてください。
※ ソーシャルアカウントで登録するとログインが簡単に行えます。
※ 連携したソーシャルアカウントは、会員登録完了後にいつでも変更できます。

