Kategorik açıdan FP bir monad, nedir?
Her zaman birinin sözlerine "açıklamak monadlar", benim ilgi kırılmak, sadece yerini hayal kırıklığı ne zaman sözde "açıklama" uzun bir listesi örnekleri ile sonlandırılmış bazı off-el sözler "matematiksel teorisi" arkasında "ezoterik fikirler" "çok karmaşık açıklamak bu noktada".
Şimdi tam tersini istiyorum. Kategori teorisi hakkında sağlam bir kavrayışa sahip ve diyagram takip korkmuyorum, Yoneda lemma veya türetilmiş funktorlar (ve aslındamonadlarve kategorik anlamda) adjunctions.
Biri bana verebilirnet ve anlaşılırbir monad fonksiyonel programlama nedir tanımı? Az örnekler daha iyi: bazen açık bir kavram söyleyen yüz ürkek den fazla örnek. Haskell seçici değilim ama güzel gösteri için bir dil olarak yapar.
CEVAP
Bazı iyi cevaplar var bu soruya: Monads as adjunctions
Daha önemlisi, Derek Elkins' Kategori Teorisi ile" TMR madde #13 aradığın yapılar olmalı ki: http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf . "Hesaplayarak Monadlar
Son olarak, bu gerçekten sizin için ne arıyorsanız en yakın, doğrudan kaynağına gidin ve 1988-91 gelen konu hakkında Moggi seminal kağıtları bakabilirsiniz belki: http://www.disi.unige.it/person/MoggiE/publications.html
Özellikle "Kavramları hesaplama ve monadlar".
Benim eminim çok yoğun/belirsiz:
Haskell tür olan ve işlevleri olan 0* *bir kategori ile başlar. Fonksiyonlar ürünler de Hask
, nesneleri. Hask
Kartezyen kapanmış oldu. Şimdi bir ok Hask
nesnelerin bir alt grubu olan MHask
Hask
her nesne eşleme tanıtmak. Birim!
Önümüzdeki bir ok MHask
ok Hask
her ok eşleme tanıtmak. Bu bize göster, ve MHask
kovaryant bir endofunctor eder. Şimdi kendi üretir MHask
nesne MHask
bir nesne (birimi ile) üretilen bir ok MHask
her nesne eşleme tanıtmak. Katılın! Ve o, MHask
bir monad (ve daha doğrusu monoidal bir endofunctor).
Gerçekten eğer şekilcilik arıyorsan doğrudan isterim yüzden yukarıda eksik olmasının bir nedeni, özellikle Moggi gazetelere olduğuna eminim.
Bir yardım C# geliştirici anlamak: bir...
Endeksli monad nedir?...
Bir monad nedir?...
Python yumurta nedir?...
Ünlem işareti Haskell bildiriminde anl...