2012-05-08 57 views
18

Jak pokazuje przykładowa literatura, obecny stos klas importowanych z teorii kategorii jest raczej splątanym wypadkiem historii, niż piękną spójną całością.Ponowne tworzenie klas standardowych

W szczególności utrudnia to śledzenie tego, co się dzieje.

Co powinien wyglądać ten ?, jeżeli takie drobiazgi, jak kompatybilność wsteczna, powielanie kodu lub podpisy trakcyjnie krótkie, nie były problemem?

+1

Klasy nie zostały zaimportowane z teorii kategorii. –

+0

@DonStewart: Być może byłem niejasny. Nie twierdzę, że idea klasy typu pochodzi z teorii kategorii. Mam na myśli klasy typu Haskell oparte na teorii kategorii - 'Functor',' Applicative', 'Monad' i tak dalej. – MathematicalOrchid

+0

OK. Zrewidowałem swoją odpowiedź, aby rozróżnić próby kategoryzacji klas numerycznych; oraz klasy teoretyków kategorii. –

Odpowiedz

28

W przypadku niektórych podzbiorów klas standardowych podjęto próby nadania poprawionej hierarchii.

numeryczne Typeclasses

W szczególności zapewnia znacznie bogatszy zestaw abstrakcji matematycznych.

Poza tym istnieje wiele innych alternatywnych wzorów:

enter image description here

categoric Typeclasses

Nie było mniej pracy na the category-inspired classes, takich jak funktor, Monady, monoid, aplikacyjne i oczywiście kategoria.

Najważniejszym dziełem jest pakiet

  • category-extras, który zapewnia bardzo bogatą bibliotekę rzeczywiście, w tym słynny zygohistoprepromorphism.

enter image description here

+0

+1 za dużo i wiele interesujących referencji. – MathematicalOrchid

+1

Czy którykolwiek z powyższych adresów inwersja Monad/Funktor? –

+0

Spojrzałem na ten wykres, a mój mózg eksplodował. o_O Ale to jest teoria kategorii, prawda? Zrobiłem _ _ _ _ _ _ _ __ dla tego ... ;-) – MathematicalOrchid

10

Jeśli chodzi o "kategoryczne" klas, istnieje również The Other Prelude. Przedstawiona tam hierarchia klas została zaimplementowana w Frege.

+0

Cholerny dzienny limit głosowania. :-P Bez względu na to, jest to prawdopodobnie najlepsza rzecz, jaką przeczytałem przez cały dzień. Innym wstępnym wyjaśnieniem jest nie tylko "Inne preludium" w prosty i zwięzły sposób, ale do dzisiaj nigdy nie słyszałem o Fregu. :-D – MathematicalOrchid

+0

Bez zmartwień, @ MathematicalOrchid, z powodu głosowania ... Don włożył więcej wysiłku w swoją odpowiedź i był pierwszy. I dodał fajną grafikę. – Ingo

+0

Fiuge brzmi niezwykle ekscytująco. Jak, w imię dobra, wymawiasz to jednak ?! o_O – MathematicalOrchid

Powiązane problemy