free-monad

Czym są darmowe monady?

I ' ve seen the term Free Monad pop up every Teraz oraz potem przez jakiś czas, ale wszyscy po prostu wydają się używać/d ... monady? (Powiedziałbym, że znam monady i podstawy Haskella, ale mam tylko bardzo szorstką wiedzę na temat teorii kategorii.)

Monada pauzy

Monady potrafią robić wiele niesamowitych, szalonych rzeczy. Mogą tworzyć zmienne, które posiadają superpozycję wartości. Mog ... dzienniku. (Oczywiście wyklucza to zmianę stanu między stopniami, ponieważ tak naprawdę nie" wstrzymujemy " niczego teraz.)

Kiedy chciałbym użyć darmowego wzoru Monad + Interpreter?

Pracuję nad projektem, który obejmuje między innymi warstwę dostępu do bazy danych. Całkiem normalne, naprawdę. W poprzedni ... interpretera. Lub... Czy rzeczywiście zyskuję coś innego dzięki darmowemu wzorcowi Monad + Interpreter? Jeśli tak, to co?

Jakie są przykłady motywujące dla Cofree CoMonad w Haskell?

Bawiłem się z Cofree, i nie mogę tego zrobić. Na przykład, chcę grać z Cofree [] Num w ghci i nie mogę uzyskać żadnych cieka ... < []), (3 :< [])] > extract b 1 > unwrap b [2 :< [],3 :< []] > map extract $ unwrap b [2,3]

Jakie monady można wyrazić jako wolne przez jakiś funktor?

Dokumentacja dla Free says: Wiele monad powszechnych powstaje jako monady wolne, data Empty a, Free Empty jest izom ... nym więcej: wierzę {[6] } jest izomorficzny do Either e. Edit: jakie monady są a nie expressible używając Free i dlaczego?

Klasy penetracji stosu Monad z darmowymi / operacyjnymi transformatorami Monad?

Czy istnieje mechanizm podobny do mtl dla transformatorów monad stworzonych przez FreeT / ProgramT ? [12]}moje rozumienie hi ... penetrację dla każdego operacyjnego monad źle pozowane. Chciałbym również znać poprawny termin techniczny dla penetracji :)

Układanie efektów monadycznych w darmowej Monadzie w Scali

Uczę się o darmowej monadzie w Scali i stworzyłem prosty przykład algebry, którą mogę przekształcić w Darmową monadę za pomoc ... rzydko, i nie czuje się dobrze. Jaki jest - jeśli w ogóle-sposób układania efektów monadycznych przy użyciu darmowej monady?