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
Haskell to funkcjonalny język programowania z silnym typowaniem statycznym, leniwą oceną, szeroką obsługą równoległości i współbieżności oraz unikalnymi możliwościami abstrakcyjnymi.
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
I przysięgam, że kiedyś T-shirt na sprzedaż gościnnie nieśmiertelne słowa: W jakiej części ty nie rozumiesz? W moim przypadku odpowiedź brzmiałaby ... wszystko! W szczególności często widzę taką notację w dokumentach Haskella, ale nie mam pojęcia, co to wszystko znaczy. Nie mam pojęcia,...
Odpowiedzi na to pytanie są dziełem społeczności . Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Przez kilka dni próbowałem owinąć głowę wokół paradygmatu programowania funkcjonalnego w Haskell. Zrobiłem...
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...
Jaka jest różnica między kropką (.)a znakiem dolara ($)? Jak rozumiem, oba są cukrem syntaktycznym, ponieważ nie muszą używać
Wziąłem Problem nr 12 z Project Euler jako ćwiczenie programistyczne i do porównania moich (na pewno nie optymalnych) implementacji w C, Python, Erlang i Haskell. Aby uzyskać wyższe czasy wykonania, szukam pierwszego numeru trójkąta z więcej niż 1000 dzielników zamiast 500, jak podano w pierwotnym...
Muszę przyznać, że niewiele wiem o programowaniu funkcjonalnym. Przeczytałem o tym tu i tam, i wtedy dowiedziałem się, że w programowaniu funkcjonalnym funkcja zwraca to samo wyjście, dla tego samego wejścia, bez względu na to, ile razy funkcja jest wywoływana. To jest dokładnie jak funkcja...
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...
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 6 lat temu . W Haskell jest dużo...
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 2 lata temu . Niedawno złapałem...
Z dokumentacji GHC 7.6: [T] często często nie potrzebujesz pragmy SPECJALIZACJI. Podczas kompilacji modułu M optymalizator GHC (z -O) automatycznie uwzględnia każdą przeciążoną funkcję najwyższego poziomu zadeklarowaną w M i specjalizuje ją dla różnych typów, w których jest wywoływany w M....
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
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to...
Słyszałem kilka razy termin „węgiel kamienny” w programowaniu funkcjonalnym i kręgach PLT, szczególnie gdy dyskusja dotyczy przedmiotów, comonad, soczewek itp. Googlowanie tego terminu daje strony, które zawierają matematyczny opis tych struktur, co jest dla mnie prawie niezrozumiałe. Czy ktoś może...
Próbuję zaimplementować architekturę sieci neuronowej w Haskell i używać jej na MNIST. Używam hmatrixpakietu do algebry liniowej. Moja struktura szkoleniowa jest zbudowana przy użyciupipes pakietu. Mój kod kompiluje się i nie ulega awarii. Ale problem polega na tym, że pewne kombinacje rozmiaru...
Oto scenariusz: napisałem trochę kodu z podpisem typu, a skargi GHC nie mogły wydedukować x ~ y dla niektórych xi y. Zwykle możesz rzucić GHC kość i po prostu dodać izomorfizm do ograniczeń funkcji, ale jest to zły pomysł z kilku powodów: Nie podkreśla zrozumienia kodu. Możesz skończyć z 5...
Zaczynam rozumieć, w jaki sposób forallsłowo kluczowe jest używane w tak zwanych „typach egzystencjalnych”, takich jak: data ShowBox = forall s. Show s => SB s Jest to jednak tylko podzbiór tego, w jaki sposób foralljest używany i po prostu nie mogę skupić się na jego użyciu w takich...
Co oznacza postać normalna słaba głowa (WHNF)? Co oznaczają Forma normalna głowy (HNF) i Forma normalna (NF)? Real World Haskell stwierdza: Znajoma funkcja seq ocenia wyrażenie do tego, co nazywamy formą głowy normalną (w skrócie HNF). Zatrzymuje się, gdy dotrze do najbardziej zewnętrznego...
Wyrażenie „algebraiczne” dla typów danych algebraicznych wygląda bardzo sugestywnie dla kogoś z doświadczeniem w matematyce. Pozwól mi wyjaśnić, co mam na myśli. Po zdefiniowaniu podstawowych typów Produkt • Unia + Singel X Jednostka 1 i używając skrótów X²dla X•Xi 2Xdla X+Xet cetera, możemy...