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 Real World Haskell gelesen und nähere mich dem Ende, aber eine Frage des Stils hat mich wegen der (.)und ($)-Operatoren belästigt . Wenn Sie eine Funktion schreiben, die aus anderen Funktionen besteht, schreiben Sie sie wie folgt: f = g . h Aber wenn Sie etwas auf das …
Abhängige Methodentypen, die früher ein experimentelles Feature waren, wurden jetzt standardmäßig im Trunk aktiviert , und anscheinend scheint dies in der Scala-Community für Aufregung gesorgt zu haben . Auf den ersten Blick ist nicht sofort klar, wofür dies nützlich sein könnte. Heiko Seeberger hat ein neues einfaches Beispiel abhängigen Verfahrenstypen …
Ich bin auf einen Haskell-Code gestoßen, der so aussieht: ps@(p:pt) Was bedeutet das @Symbol in diesem Zusammenhang? Ich kann anscheinend keine Informationen bei Google finden (es ist leider schwierig, bei Google nach Symbolen zu suchen), und ich kann die Funktion in der Prelude-Dokumentation nicht finden, daher stelle ich mir vor, …
Selbst trivial kleine Haskell-Programme werden zu gigantischen ausführbaren Dateien. Ich habe ein kleines Programm geschrieben, das (mit GHC) in die Binärdatei mit einer Größe von 7 MB kompiliert wurde! Was kann dazu führen, dass selbst ein kleines Haskell-Programm in die große Binärdatei kompiliert wird? Was kann ich tun, um dies …
Es ist einfach genug, einen Baum oder eine Liste in Haskell mithilfe algebraischer Datentypen darzustellen. Aber wie würden Sie vorgehen, um eine Grafik typografisch darzustellen? Es scheint, dass Sie Zeiger haben müssen. Ich vermute, Sie könnten so etwas haben type Nodetag = String type Neighbours = [Nodetag] data Node a …
Ich habe ein merkwürdiges Verhalten mit der Interactive-Haskell-Antwort emacs. Wenn ich eine Datei emacsbeschaffe, zeigt der Minipuffer eine Reihe interaktiver Eingabeaufforderungen an: Start a new project named 'myproject'? Cabal dir (guessed from myproject.cabal): Build target (empty for default): Set current directory: Wenn ich entweder das Kabalenverzeichnis oder das aktuelle Verzeichnis …
Wie kann ich die tatsächliche Speichermenge ermitteln, die zum Speichern eines Werts eines Datentyps in Haskell erforderlich ist (hauptsächlich mit GHC)? Ist es möglich, es zur Laufzeit auszuwerten (z. B. in GHCi) oder ist es möglich, den Speicherbedarf eines zusammengesetzten Datentyps aus seinen Komponenten abzuschätzen? Wenn Speicheranforderungen für Typen aund …
Der Code für die Funktion myAny in dieser Frage verwendet foldr. Die Verarbeitung einer unendlichen Liste wird beendet, wenn das Prädikat erfüllt ist. Ich habe es mit foldl umgeschrieben: myAny :: (a -> Bool) -> [a] -> Bool myAny p list = foldl step False list where step acc item …
Ich lerne Haskell von learnyouahaskell.com . Ich habe Probleme, Typkonstruktoren und Datenkonstruktoren zu verstehen. Zum Beispiel verstehe ich den Unterschied nicht wirklich: data Car = Car { company :: String , model :: String , year :: Int } deriving (Show) und das: data Car a b c = Car …
Die Lesermonade ist so komplex und scheint nutzlos zu sein. In einer imperativen Sprache wie Java oder C ++ gibt es kein gleichwertiges Konzept für die Lesermonade, wenn ich mich nicht irre. Können Sie mir ein einfaches Beispiel geben und dies ein wenig klären?
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, …
Ich habe mich lange gefragt, warum eine faule Bewertung nützlich ist. Ich muss mir noch jemanden erklären lassen, der Sinn macht. Meistens läuft es darauf hinaus, "mir zu vertrauen". Hinweis: Ich meine nicht Memoisierung.
Ich bin gespannt, warum Haskell-Implementierungen einen GC verwenden. Ich kann mir keinen Fall vorstellen, in dem GC in einer reinen Sprache notwendig wäre. Ist es nur eine Optimierung, um das Kopieren zu reduzieren, oder ist es tatsächlich notwendig? Ich suche nach Beispielcode, der auslaufen würde, wenn kein GC vorhanden wäre.
Ich habe das Internet nach einer tatsächlichen Erklärung durchsucht, was dieses Schlüsselwort bewirkt. Jedes Haskell-Tutorial, das ich mir angesehen habe, wird nur zufällig verwendet und erklärt nie, was es tut (und ich habe mir viele angesehen). Hier ist ein grundlegender Code von Real World Haskell , der verwendet wird Just. …
Auf der Haskell-Website wird eine sehr attraktive 5-Zeilen- Quicksort-Funktion vorgestellt (siehe unten). quicksort [] = [] quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater) where lesser = filter (< p) xs greater = filter (>= p) xs Sie enthalten auch eine "True Quicksort in C" . // To …
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.