「Monad攻略戦」と聞いたので、参加してきました。 Type Class in Coq / @tmiya_ さん On Understanding Types, Data Abstraction, and Polymorphism universal Polymorphism 個別実装なし parametric : ML系の多層型 inclusion : サブタイプ、継承 ad-hoc Polymorphism 個別に実装が必要 overloading 名前が同じだが無関係 coercion 期待される型に自動で変換 今日の話は、ad-hoc の方 Hask圏におけるモノイド対象 Coqでは、型クラスとして定義できる M:Type -> Type, 公理もモナド型に含められる left_unit, right_unit, assoc を公理とする >>=, と do は Notation