Haskell ist eine funktionale Programmiersprache mit starker statischer Typisierung, verzögerter Auswertung, umfassender Unterstützung für Parallelität und Parallelität sowie einzigartigen Abstraktionsfunktionen.
Ich verstehe, dass dies seqverwendet wird, um die Leistung zu verbessern, indem unnötige Faulheit vermieden wird. Ich möchte nur wissen, woher der Name stammt. Ist es von "Sequenz" oder "sequentiell"? Und in welcher Beziehung steht der Name zur strengen Bewertung?
Hier ist der SO-Beitrag, auf den ich mich beziehen werde .Außerdem werde ich in dieser Frage dieselben Schnipsel wie das OP verwenden, um die Materialien nicht zu trennen . Es ist allgemein bekannt, dass eine ArrowApplyInstanz eine Monade ergibt und umgekehrt: newtype ArrowMonad a b = ArrowMonad (a () b) …
Ich habe ein Dutzend solcher Newtypes: newtype MyBool = MyBool Bool newtype MyInt = MyInt Int Ich möchte vorhandene Instanzen wiederverwenden: instance MArray IOUArray Int IO where ... instance MArray (STUArray s) Int (ST s) where ... Das Implementieren dieser Instanzen und des gesamten Boilerplate-Codes ist das Letzte, was ich …
Ich habe Probleme mit Haskell's bracket: Wenn das zweite Argument in einem gegabelten Thread (unter Verwendung forkFinally) ausgeführt wird bracket, wird die Berechnung, die Ressourcen freigibt, nicht ausgeführt, wenn das Programm endet. Hier ist Code, der das Problem veranschaulicht (mir ist bewusst, dass ich in diesem speziellen Fall die Pufferung …
Ich versuche diese Frage aus meinen Hausaufgaben zu machen: Wenn Sie willkürlich sind foo :: [[a]] -> ([a], [a]), schreiben Sie ein Gesetz auf, das die Funktion fooerfüllt, und zwar mapin Listen und Paaren. Ein Zusammenhang: Ich bin ein Student im ersten Jahr, der einen Kurs in funktionaler Programmierung belegt. …
Das Naturgesetz besagt: t . traverse f == traverse (t . f) -- for every applicative transformer t Wenn nun für die RHS des Gesetzes f den Typ hat Applicative a => x -> a y, muss t (Applicative a, Applicative b) => a y -> b yaufgrund der Funktionszusammensetzung …
Ich habe gerade die Definition der Klasse verstanden MonadReader class Monad m => MonadReader r m | m -> r where ... Nachdem ich das Dokument der funktionalen Abhängigkeit in Haskell gelesen habe, kann ich jetzt verstehen, dass | m -> rangegeben wird, dass die Typvariable reindeutig von bestimmt wird …
Ich bin verwirrt, warum meine Funktion, nestdie fmit sich selbst komponiert , nmal ist nest f 0 = id nest f n = f . nest f (n - 1) endet nie. Ich hätte gedacht, dass es "Musterübereinstimmung" für den Fall geben würde, wenn nNull wird. Ich definiere es, indem …
Ich versuche, eine Liste in haskell so zu ändern, dass zwischen jedem Element 0 steht. Wenn wir eine erste Liste haben, [1..20]würde ich sie gerne ändern[1,0,2,0,3..20] Was ich mir überlegt habe, ist, für jede Funktion eine Karte zu verwenden, ein Element zu extrahieren und es dann zur Liste hinzuzufügen und …
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.