SORU
6 EKİM 2010, ÇARŞAMBA


Bir monad'sorun ne endofunctors kategorisinde sadece bir monoid?

İlk kim söyledi

Bir monad sadece bir monoid. bu ne endofunctors, kategori sorun?

ve bu doğrudur, daha az önemli bir not ve eğer öyleyse sana bir açıklama verebilir (çok haskell deneyimi olmayan biri tarafından anlaşılabilir umarım.

CEVAP
6 EKİM 2010, ÇARŞAMBA


Özellikle cümle James İry, son derece eğlenceli onun tarafındanBrief, Incomplete and Mostly Wrong History of Programming Languageso fictionally Philip Wadler onu bağlıyor ki.

Orijinal alıntı Saunders Mac LaneÇalışma Matematikçi için kategorilerKategori temel metinlerin bir Teori. Muhtemelen en iyi yer ne anlama geldiğini tam olarak öğrenmek için Here it is in context,.

Ama, bir bıçak alacağım. Orijinal cümle şu:

Her şeyi anlattı, X bir monad ürün × endofunctors ve birim kimlik endofunctor tarafından belirlenen kompozisyon yerine X endofunctors kategorisinde sadece bir monoid.

Xburada bir kategori. Endofunctors kendisi için bir kategori funktorlar genelde. ( ^em>tümFunctorçoğunlukla sadece tek bir kategori; tip kategori--ama sapmak) ile uğraştığından beri fonksiyonel programcılar gelince. Ama "endofunctors . kategori başka bir kategori düşünebiliriz ^em>X". Bu nesnelerin endofunctors ve morfizmaları doğal dönüşümler bir kategoridir.

Ve bu endofunctors, bazıları monadlar olabilir. Hangileri monadlar? Olanlar tam olarakmonoidalbelirli bir anlamda. Yerine dışarı yazım tam eşleme monadlar için monoids (beri Mac Lane yok, daha iyi olmayı umuyorum), ben sadece koyun kendi tanımları yan yana ve izin karşılaştırmak:

Bir monoid

  • Bir diziS
  • Bir operasyon• : S × S → S
  • UnsuruS,e : 1 seçeneğine

...bu yasalar tatmin edici:

  • (a • b) • c = a • (b • c)tüm içinbir,bvecS
  • a = a = e e••tüm içinbirS

Bir monad

  • Bir endofunctor,T : X → X(Haskell, bir tür Functor örneği ile tür * -> *) kurucu
  • Doğal bir dönüşümM : T × T Seçeneğine Tnerede×functor kompozisyon olarak . anlamına gelir ^em>joiniçinde Haskell)
  • Doğal bir dönüşümthe : ben öğelerini TneredeBenkimliği endofunctorX(de bilinirreturniçinde Haskell)

...bu yasalar tatmin edici:

  • µ ((T X T) µ × T)) = µ(T × m(T X))
  • (the(T)) = T = µ(T(the)) mikron

Biraz şaşı olabilir muhtemelen gördüğünüz Her ikisi de bu tanımları örneklerinin aynı soyut kavramı (bence kategori teorisyenleri derdi "monoid" soyut terim ve benim tanımı "monoid" üzerinde fazla spesifik beri bahseder setleri ve elemanları).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • Nightmare2005

    Nightmare200

    14 Ocak 2007