Po krótkim spojrzeniu na Haskella, jakie byłoby krótkie, zwięzłe i praktyczne wyjaśnienie, czym właściwie jest monada? Odkryłem, że większość wyjaśnień jest dość niedostępna i pozbawiona praktycznych
Monada w programowaniu to składalny opis obliczeniowy. Monady są ważną konstrukcją w funkcjonalnych językach programowania, takich jak Haskell.
Po krótkim spojrzeniu na Haskella, jakie byłoby krótkie, zwięzłe i praktyczne wyjaśnienie, czym właściwie jest monada? Odkryłem, że większość wyjaśnień jest dość niedostępna i pozbawiona praktycznych
W kategoriach zrozumiałych dla programisty OOP (bez żadnego funkcjonalnego tła programowania), czym jest monada? Jaki problem rozwiązuje i jakie są najczęściej używane miejsca? EDYTOWAĆ: Aby wyjaśnić rodzaj zrozumienia, którego szukałem, załóżmy, że konwertujesz aplikację FP, która miała monady,...
Kto pierwszy powiedział, co następuje? Monada to po prostu monoid w kategorii endofunkorów, na czym polega problem? A w mniej ważnej sprawie, czy to prawda, a jeśli tak, to czy mógłbyś podać wyjaśnienie (mam nadzieję, że może to być zrozumiałe dla kogoś, kto nie ma dużego doświadczenia...
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Zamknięte 3 lata temu . Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje...
Jeśli mam EnumeratorTodpowiedni odpowiednik IterateeT, mogę je uruchomić razem: val en: EnumeratorT[String, Task] = EnumeratorT.enumList(List("a", "b", "c")) val it: IterateeT[String, Task, Int] = IterateeT.length (it &= en).run : Task[Int] Jeśli monada modułu wyliczającego jest „większa”...
Widziałem termin Monada bezpłatny pojawiają się za każdym teraz i potem przez jakiś czas, ale wszyscy po prostu wydaje się używać / omówić je bez podania wyjaśnienia, jakie są. Czym są darmowe monady? (Powiedziałbym, że jestem zaznajomiony z monadami i podstawami Haskella, ale mam tylko bardzo...
Moim skromnym zdaniem odpowiedzi na słynne pytanie „Co to jest monada?” , zwłaszcza tych najczęściej głosowanych, spróbuj wyjaśnić, co to jest monada, bez wyraźnego wyjaśnienia, dlaczego monady są naprawdę potrzebne . Czy można je wyjaśnić jako rozwiązanie
Wyjaśniając komuś, czym jest klasa X, staram się znaleźć dobre przykłady struktur danych, które są dokładnie X. Proszę o przykłady: Konstruktor typów, który nie jest Functorem. Konstruktor typów, który jest Functorem, ale nie ma zastosowania. Konstruktor typów, który jest aplikacyjny, ale nie...
Obecnie dużo mówi się o monadach. Przeczytałem kilka artykułów / postów na blogu, ale nie mogę posunąć się za daleko z ich przykładami, aby w pełni zrozumieć tę koncepcję. Powodem jest to, że monady są pojęciem języka funkcjonalnego, a zatem przykłady są w językach, z którymi nie pracowałem...
Czy ktokolwiek mógłby podać kilka wskazówek, dlaczego nieczyste obliczenia w Haskell są modelowane jako monady? Chodzi mi o to, że monada to tylko interfejs z 4 operacjami, więc jaki był powód modelowania w niej efektów ubocznych?
Monada czytelnicza jest tak złożona i wydaje się bezużyteczna. W języku imperatywnym, takim jak Java czy C ++, nie ma odpowiednika koncepcji monady czytelnika, jeśli się nie mylę. Czy możesz podać mi prosty przykład i trochę to
Rozważ sytuację, w której mam trzy (lub więcej) sposoby wykonywania obliczeń, z których każdy może zawieść z wyjątkiem. Aby spróbować każdego obliczenia, aż znajdziemy taki, który się powiedzie, wykonałem następujące czynności: double val; try { val = calc1(); } catch (Calc1Exception e1) { try...
Wnioskodawcy tworzą, monady nie. Co oznacza powyższe stwierdzenie? A kiedy jedno jest lepsze od
Zamknięte. To pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat przepełnienia stosu. Zamknięte 4 lata temu . Popraw to pytanie...
map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -> b) -> m a -> m b Dlaczego mamy trzy różne funkcje, które zasadniczo robią to samo?
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
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])...
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...
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...
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 <-...