Eine Monade in der Programmierung ist eine zusammensetzbare Berechnungsbeschreibung. Monaden sind ein wichtiges Konstrukt in funktionalen Programmiersprachen wie Haskell.
Was ist indizierte Monade und was ist die Motivation für diese Monade? Ich habe gelesen, dass es hilft, die Nebenwirkungen im Auge zu behalten. Aber die Typensignatur und Dokumentation führt mich nirgendwo hin. Was wäre ein Beispiel dafür, wie es helfen kann, Nebenwirkungen im Auge zu behalten (oder ein anderes …
Ich bin neu in der funktionalen Programmierung und habe kürzlich bei Learn You a Haskell gelernt , aber als ich dieses Kapitel durchging , blieb ich beim folgenden Programm hängen: import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++ show x]) …
Ich arbeite daran, in 48 Stunden ein Schema zu schreiben (ich bin bis zu 85 Stunden) und bin zu dem Teil über das Hinzufügen von Variablen und Zuweisungen gekommen . In diesem Kapitel gibt es einen großen konzeptionellen Sprung, und ich wünschte, es wäre in zwei Schritten mit einem guten …
Hackage hat mehrere Pakete für Monadentransformatoren: mtl : Monadentransformatorbibliothek Transformatoren : Betonfunktor- und Monadentransformatoren monads-fd : Monadenklassen unter Verwendung funktionaler Abhängigkeiten monads-tf : Monadenklassen unter Verwendung von Typfamilien monadLib : Eine Sammlung von Monadentransformatoren. mtl-tf : Monadentransformatorbibliothek unter Verwendung von Typfamilien. mmtl : Modulare Monadentransformatorbibliothek mtlx : Monadentransformatorbibliothek mit Typindizes …
Ich verstehe Map und FlatMap wirklich nicht. Was ich nicht verstehe, ist, wie ein For-Understanding eine Folge verschachtelter Aufrufe von map und flatMap ist. Das folgende Beispiel stammt aus der funktionalen Programmierung in Scala def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = for { f <- mkMatcher(pat) g <- mkMatcher(pat2) } yield f(s) && g(s) …
Ich kann den Punkt der Option[T]Klasse in Scala nicht verstehen . Ich meine, ich kann keine Vorteile von Noneüber sehen null. Betrachten Sie zum Beispiel den Code: object Main{ class Person(name: String, var age: int){ def display = println(name+" "+age) } def getPerson1: Person = { // returns a Person …
Es ist bekannt, dass anwendungsbezogene Funktoren unter Komposition geschlossen sind, Monaden jedoch nicht. Ich hatte jedoch Probleme, ein konkretes Gegenbeispiel zu finden, das zeigt, dass Monaden nicht immer komponieren. Diese Antwort gibt [String -> a]als Beispiel eine Nicht-Monade. Nachdem ich ein bisschen damit herumgespielt habe, glaube ich es intuitiv, aber …
Das Papier "Programmieren und Denken mit algebraischen Effekten und abhängigen Typen" von Edwin C. Brady über Effekte in Idris enthält die (nicht referenzierte) Behauptung, dass: Obwohl [Effekte und Monadentransformatoren] in der Leistung nicht gleichwertig sind - Monaden und Monadentransformatoren können mehr Konzepte ausdrücken - werden viele gängige effektive Berechnungen erfasst. …
Ich habe über Monaden in der Kategorietheorie gelesen. Eine Definition von Monaden verwendet ein Paar benachbarter Funktoren. Eine Monade wird durch eine Rundreise mit diesen Funktoren definiert. Anscheinend sind Zusätze in der Kategorietheorie sehr wichtig, aber ich habe keine Erklärung für Haskell-Monaden in Bezug auf benachbarte Funktoren gesehen. Hat jemand …
Kann jemand ein Beispiel für die Verwendung von Java geben, um zu verstehen, was eine Monade ist? Sind sie möglich? Lambda-Ausdrücke sind mit Java möglich, wenn Sie das Lambda-kompatible JDK8 vor der Veröffentlichung von hier herunterladen: http://jdk8.java.net/lambda/ Ein Beispiel für ein Lambda, das dieses JDK verwendet, ist unten dargestellt. Kann …
So wird die Cont-Monade definiert: newtype Cont r a = Cont { runCont :: (a -> r) -> r } instance Monad (Cont r) where return a = Cont ($ a) m >>= k = Cont $ \c -> runCont m $ \a -> runCont (k a) c Können Sie …
Ich verstehe, dass die ST-Monade so etwas wie ein kleiner Bruder von IO ist, der wiederum die Staatsmonade mit zusätzlicher RealWorldMagie ist. Ich kann Staaten Bild und ich kann vorstellen , dass Real World irgendwie in IO gesetzt wird, aber jedes Mal , wenn ich eine Art Unterschrift schreiben STdie …
Ich bin mit den Konzepten von Monaden und Pfeilen, wie sie in der funktionalen Programmierung verwendet werden, weitgehend vertraut . Ich verstehe auch, dass sie verwendet werden können, um ähnliche Probleme zu lösen. Ich bin jedoch immer noch etwas verwirrt darüber, wie ich auswählen soll, welches in einer bestimmten Situation …
As State Monad kann in Produkt (Left - Functor) und Reader (Right - Representable) zerlegt werden. Gibt es eine Möglichkeit, die Fortsetzungsmonade zu faktorisieren? Der folgende Code ist mein Versuch, bei dem keine Überprüfung durchgeführt wird -- To form a -> (a -> k) -> k {-# LANGUAGE MultiParamTypeClasses, TypeOperators, …
Ich versuche, eine Familie von Zustandsautomaten mit etwas anderen Arten von Zuständen zu definieren. Insbesondere haben die "komplexeren" Zustandsmaschinen Zustände, die durch Kombinieren der Zustände einfacherer Zustandsmaschinen gebildet werden. (Dies ähnelt einer objektorientierten Einstellung, bei der ein Objekt mehrere Attribute hat, die auch Objekte sind.) Hier ist ein vereinfachtes Beispiel …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.