Pytania otagowane jako monads

Monada w programowaniu to składalny opis obliczeniowy. Monady są ważną konstrukcją w funkcjonalnych językach programowania, takich jak Haskell.

5
Co to jest indeksowana monada?
Co to jest monada indeksowana i motywacja do tej monady? Czytałem, że pomaga to śledzić skutki uboczne. Ale podpis typu i dokumentacja nie prowadzą mnie do niczego. Jaki byłby przykład tego, jak może pomóc śledzenie skutków ubocznych (lub jakikolwiek inny ważny przykład)?
98 haskell  monads 

3
Jak grać z Control.Monad.Writer w Haskell?
Jestem nowy w programowaniu funkcjonalnym i ostatnio uczę się w Learn You a Haskell , ale kiedy przeczytałem ten rozdział , utknąłem w poniższym programie: import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++ show x]) multWithLog :: Writer [String] Int …
97 haskell  monads 

3
Różnica między stanem, ST, IORef i MVar
Pracuję nad napisaniem sobie schematu w 48 godzin (mam do około 85 godzin) i dotarłem do części dotyczącej dodawania zmiennych i przypisań . W tym rozdziale jest duży skok koncepcyjny i żałuję, że nie wykonano go w dwóch krokach z dobrą refaktoryzacją pomiędzy, a nie przeskakiwaniem od razu do ostatecznego …

3
mtl, transformers, monads-fd, monadLib i paradoks wyboru
Hackage ma kilka pakietów dla transformatorów monad: mtl : Biblioteka transformatorów Monad transformatory : funktor do betonu i transformatory monadowe monads-fd : Klasy Monad, używające zależności funkcjonalnych monads-tf : Klasy Monad, używające rodzin typów monadLib : kolekcja transformatorów monad. mtl-tf : biblioteka transformatorów Monad korzystająca z rodzin typów. mmtl : …

5
Mylony z przekształceniem dla zrozumienia w płaską mapę / mapę
Naprawdę nie rozumiem Map i FlatMap. To, czego nie rozumiem, to jak interpretacja jest sekwencją zagnieżdżonych wywołań map i flatMap. Poniższy przykład pochodzi z programowania funkcjonalnego w Scali def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = for { f <- mkMatcher(pat) g <- mkMatcher(pat2) } yield f(s) && g(s) przetłumaczyć na def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = mkMatcher(pat) …

18
Jaki jest sens klasy Option [T]?
Nie jestem w stanie zrozumieć sensu Option[T]zajęć w Scali. To znaczy, nie jestem w stanie dostrzec żadnych zalet Noneponad null. Na przykład rozważ kod: object Main{ class Person(name: String, var age: int){ def display = println(name+" "+age) } def getPerson1: Person = { // returns a Person instance or null …

5
Konkretny przykład pokazujący, że monady nie są zamknięte w kompozycji (z dowodem)?
Powszechnie wiadomo, że funktory aplikacyjne są zamknięte w kompozycji, ale monady nie. Jednak mam problem ze znalezieniem konkretnego kontrprzykładu pokazującego, że monady nie zawsze komponują. Ta odpowiedź daje [String -> a]jako przykład nie-monady. Po trochę zabawie z tym, wierzę w to intuicyjnie, ale ta odpowiedź mówi tylko, że „złączenia nie …

1
Jak faktoryzować monadę kontynuacji w lewy i prawy punkt pośredni?
Ponieważ monada stanu może być podzielona na produkt (lewy - Functor) i czytnik (prawy - reprezentowalny). Czy istnieje sposób na uwzględnienie Monady kontynuacji? Poniżej kodu jest moja próba, która nie sprawdza typu -- To form a -> (a -> k) -> k {-# LANGUAGE MultiParamTypeClasses, TypeOperators, InstanceSigs, TypeSynonymInstances #-} type …

2
Stany zagnieżdżone w Haskell
Próbuję zdefiniować rodzinę maszyn stanowych z nieco odmiennymi rodzajami stanów. W szczególności bardziej „złożone” maszyny stanów mają stany, które powstają przez połączenie stanów prostszych maszyn stanów. (Jest to podobne do ustawienia obiektowego, w którym obiekt ma kilka atrybutów, które również są obiektami.) Oto uproszczony przykład tego, co chcę osiągnąć. data …

1
Co mogę zrobić z callCC, czego nie można zrobić z cd?
Naprawdę mam problemy ze zrozumieniem callCC. Dostaję moc kontynuacji i wykorzystałem tę koncepcję w niektórych moich projektach, aby stworzyć fajne koncepcje. Ale nigdy nie musiałem używać czegoś o większych możliwościach niż cont :: ((a->r)->r)-> Cont r a. Po użyciu ma sens, dlaczego nazywają Cont Monad matką wszystkich monad, JESZCZE, nie …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.