Haskellやそれほど純粋ではないFP言語を学んだ後、カテゴリ理論について読むことにしました。カテゴリー理論をよく理解した後、私はカテゴリー理論の概念を使用してプログラムの設計を考える方法について考え始めましたが、どんなに一生懸命試みても、これは進むべき道ではないようです。
カテゴリー理論をプログラムの設計に関連付けるための多くの失敗した試みを費やした後、私は次のような結論に達しました:
- カテゴリ理論は、プログラミング言語を設計するときに役立ちます。
- カテゴリ理論は、プログラムを設計するときに使用するものではありません(カテゴリの原則に基づいて設計された言語を使用する場合でも)。例:Haskellでプログラミングする場合、カテゴリ理論の概念ではなく、型、型コンストラクタ、関数、高階関数などを使用してプログラムを設計します。
要約すると、下層システムがあります(順序は低から高です):
カテゴリ理論->プログラミング言語->プログラム
特定のレイヤーでは、直下のレイヤーの概念を使用します。
この理解は正しいですか?そうでない場合は、プログラムの設計でカテゴリ理論の概念を直接使用できると考えている場合は、いくつかの記事またはブログの投稿を参照してください。
注:プログラムを設計するということは、並行性、並列処理、リアクティブ、メッセージパッシングなどのさまざまな概念に基づいてプログラムを設計することを意味します。