はじめに 前回、圏と圏との間の対応である関手について定義し、いくつかのインスタンスを見ていきました。 taretmch.hatenablog.com 本記事では関手についてさらに深掘り、今後の議論の際に必要となるいくつかの関手について説明します。 まず、型構築子に2…
Scala のプロジェクトのドキュメントを mdoc で書いて、Honkit と GitHub Pages でドキュメントを公開するまでをやってみました。
はじめに これまで、圏は対象の集まりと射の集まりからなり、その例として Scala 圏 (対象は型 A、射は関数 A => B)、集合圏 (対象は集合 $A$、射は関数 $f: A \to B$)、Writer 圏 (対象は型 A、A から B への射は関数 A => Writer[L, B]) などがあると説明…
はじめに 本記事では、圏に関するいくつかの普遍的な構造について学んでいきます。 普遍的な構造として、順序集合における最小値に対応する始対象、最大値に対応する終対象、始対象と終対象との関連性である双対性、直積集合に対応する積、そして積と対をな…
Writer 圏、Writer 関手についての補足事項
はじめに ここまでで、型と純粋関数を圏としてモデル化する方法をみてきました。その際に計算効果を持つ非純粋な関数をモデル化するための概念として、モナドが出てきましたね。 ここでは、計算効果についてイメージを深めるため、計算効果の例をモナドの概…
はじめに 空圏 単純なグラフ 順序集合 集合としてのモノイド 圏としてのモノイド まとめ 参考文献 はじめに ここまで、圏とは何かについて述べ、Scala の型と関数を圏として捉えることができることを述べました。 taretmch.hatenablog.com taretmch.hatenabl…
はじめに 本記事では、Scala を構成する型と関数の圏である Scala 圏 (Hask 圏とも呼ばれます) について紹介します。まず、なぜ型が必要なのかについて述べ、型と関数を圏として考えていきます。 型と関数の圏 Hask 前回の記事 taretmch.hatenablog.com はじ…
はじめに 本記事は、圏論初心者が圏論について学びながら作成した、Scala プログラマのための入門書です。教科書は Bartosz Milewski 氏著の Category Theory for Programmers - Scala Edition で、構成も原則これに沿っています。 Scala をやっていて、圏論…
Scala で半加算器、全加算器、nビット加算器を実装してみました。
Akka HTTP Client API を使って HTTP リクエストを送信してみました。
暗号化ツールキット Keyczar についての概要です。現在開発は終了していますが、Keyczar を廃止して新しいツールキットを導入するために勉強しました。
HHKB Professional hybrid Type-S を購入して、幸せになります。
Angular のチュートリアル "Tour of Heroes" をやりました。
概要 理由 Seq.flatten の定義 Seq[Option[T]].flatten について まとめ 概要 Seq[Option[T]].flatten はできるが、Seq[Either[A, B]].flatten とすることはできない。 flatten メソッドは、以下のように入れ子になったコレクションや Option、Try などを平…
はじめに コレクションは、様々なデータを格納するための Scala において重要な概念です。 コレクションには主に、リストや配列などを含む Seq、ハッシュマップやツリーマップを含む Map、そして Set の3つのコレクションがあります。 本エントリでは、不変 …
はじめまして、ともちんと申します。 今年2020年4月に新社会人となりまして、自身の活動記録を残そうと思い立ち この度、技術ブログを始めることにしました。 本記事では、自己紹介と今後の予定について書きたいと思います。 自己紹介 以下、私の自己紹介で…