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 habe heute den Befehl "time" unter Unix entdeckt und dachte, ich würde ihn verwenden, um den Unterschied in den Laufzeiten zwischen tail-rekursiven und normalen rekursiven Funktionen in Haskell zu überprüfen. Ich habe folgende Funktionen geschrieben: --tail recursive fac :: (Integral a) => a -> a fac x = fac' …
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 2 Jahren . Verbessere diese Frage Ich habe sehr lange über …
Ich mache seit einer Weile Entwickler in F # und es gefällt mir. Ein Schlagwort, von dem ich weiß, dass es in F # nicht existiert, sind höherwertige Typen. Ich habe Material über höherwertige Typen gelesen und glaube, ich verstehe deren Definition. Ich bin mir nur nicht sicher, warum sie …
Ich habe kürzlich einen Universitätskurs mit Haskell und Agda (einer abhängigen typisierten funktionalen Programmiersprache) abgeschlossen und mich gefragt, ob es möglich ist, Lambda-Kalkül in diesen durch kombinatorische Logik zu ersetzen. Mit Haskell scheint dies mit den S- und K-Kombinatoren möglich zu sein, wodurch es punktfrei wird. Ich fragte mich, was …
In GHCi: Prelude> error (error "") *** Exception: Prelude> (error . error) "" *** Exception: *** Exception: Warum ist die erste keine verschachtelte Ausnahme?
Wie kann ich esqueleto dazu bringen, eine SQL-Zeichenfolge aus einer fromAnweisung zu generieren ? In der Dokumentation von toRawSqlheißt es, dass "Sie möglicherweise nur die Abfrageprotokollierung von persistent aktivieren". Ich habe alle möglichen Formen ausprobiert MonadLogger, die ich verstehen konnte, aber es wurde nie SQL gedruckt. In derselben Dokumentation heißt …
Ich war ein bisschen verwirrt von der Dokumentation für fix(obwohl ich glaube zu verstehen, was es jetzt tun soll), also habe ich mir den Quellcode angesehen. Das hat mich verwirrter gemacht: fix :: (a -> a) -> a fix f = let x = f x in x Wie genau …
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
Beim Kompilieren meiner Haskell-Anwendung mit der -WallOption beschwert sich GHC über verwaiste Instanzen, zum Beispiel: Publisher.hs:45:9: Warning: orphan instance: instance ToSElem Result Die Typklasse ToSElemgehört nicht mir, sondern wird von HStringTemplate definiert . Jetzt weiß ich, wie ich das beheben kann (verschieben Sie die Instanzdeklaration in das Modul, in dem …
Gegeben : data Foo = FooString String … class Fooable a where --(is this a good way to name this?) toFoo :: a -> Foo Ich möchte Stringeine Instanz erstellen von Fooable: instance Fooable String where toFoo = FooString GHC beschwert sich dann: Illegal instance declaration for `Fooable String' (All …
Ich habe dieses kleine Stück Haskell geschrieben, um herauszufinden, wie GHC beweist, dass man für natürliche Zahlen nur die geraden halbieren kann: {-# LANGUAGE DataKinds, GADTs, KindSignatures, TypeFamilies #-} module Nat where data Nat = Z | S Nat data Parity = Even | Odd type family Flip (x :: …
Ich versuche zu verstehen, was der Punktoperator in diesem Haskell-Code tut: sumEuler = sum . (map euler) . mkList Der gesamte Quellcode ist unten. Mein Verständnis Der Punktoperator übernimmt die beiden Funktionen sumund das Ergebnis map eulerund das Ergebnis von mkListals Eingabe. Aber sumist eine Funktion nicht das Argument der …
Ich suche nach wirklich einfachen, leicht verständlichen Erklärungen für Rekursionsschemata und Corecursionsschemata (Katamorphismen, Anamorphismen, Hylomorphismen usw.), für die es nicht erforderlich ist, vielen Links zu folgen oder ein Lehrbuch zur Kategorietheorie zu öffnen. Ich bin sicher, dass ich viele dieser Schemata unbewusst neu erfunden und sie während des Codierungsprozesses in …
Ich sehe goviel, wenn ich Haskell-Material oder -Quelle lese, aber ich habe mich nie wirklich wohl gefühlt - (ich denke, es hat die negative Konnotation von "goto" in meinem Kopf). Ich habe angefangen, Haskell mit LYAH zu lernen, und dort habe ich die Tendenz zum Verwenden accund stepbeim Schreiben von …
Die Standard-Bibliothek Haskell typeclasses MonadPlus, Alternativeund Monoidliefern jeweils zwei Verfahren mit im Wesentlichen gleicher Semantik: Ein leerer Wert: mzero, emptyoder mempty. Eine Bedienungsperson, a -> a -> adie Werte in der typeclass miteinander verbindet: mplus, <|>, oder mappend. Alle drei spezifizieren diese Gesetze, an die sich Instanzen halten sollten: mempty …
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.