Haskell ve o kadar saf olmayan FP dillerini öğrendikten sonra Kategori teorisi hakkında okumaya karar verdim. Kategori teorisini iyi anladıktan sonra, kategori teorisi kavramlarının programların tasarımını düşünmede nasıl kullanılabileceğini düşünmeye başladım, ancak ne kadar denesem denesem de bu yolun yolu değil gibi görünüyor.
Kategori teorisini program tasarlamakla ilişkilendirmek için başarısız birçok girişimde bulunduktan sonra şu sonuca vardım:
- Kategori teorisi bir programlama dili tasarlarken faydalıdır .
- Kategori teorisi, programlar tasarlarken kullandığınız bir şey değildir (kategori ilkelerine göre tasarlanmış bir dil kullanırken bile). Örneğin: Haskell'de programlama yaparken, kategori teorisi kavramlarını değil programınızı tasarlamak için türleri, tür yapıcısını, işlevleri, üst düzey işlevleri vb. Kullanacaksınız.
Özetle katman sisteminin altındayız (sipariş düşükten yükseğe):
Kategori teorisi -> Programlama dili -> Program
Belirli bir katmanda, hemen alttaki katmanın kavramlarını kullanırsınız .
Bu anlayış doğru mu? Değilse ve program tasarlarken doğrudan kategori teorisi kavramlarını kullanabileceğimize inanıyorsanız , lütfen gösterildiği bazı makalelere veya blog gönderilerine bakın.
NOT: Program tasarlayarak, eşzamanlılık, paralellik, reaktif, mesaj geçirme vb. Gibi farklı kavramlara dayalı programlar tasarlamak kastediyorum.