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 kürzlich zweimal Code überarbeitet, um die Reihenfolge der Parameter zu ändern, da zu viel Code vorhanden war, in dem Hacks gefallen flipoder \x -> foo bar x 42stattgefunden haben. Welche Prinzipien helfen mir beim Entwerfen einer Funktionssignatur, das Currying optimal zu nutzen?
Ist es möglich, ein Modul in Haskell zu schreiben, das ein Modul erneut exportiert und alles, was darin sichtbar ist , exportiert ? Betrachten wir folgendes Modul: module Test where import A f x = x Dieses Modul exportiert alles , was darin definiert ist, also exportiert es f, importiert …
Wenn funktionale Programmiersprachen keinen Status speichern können, wie machen sie dann einfache Dinge wie das Lesen von Eingaben eines Benutzers? Wie "speichern" sie die Eingabe (oder speichern sie irgendwelche Daten für diese Angelegenheit?) Zum Beispiel: Wie würde sich dieses einfache C-Ding in eine funktionierende Programmiersprache wie Haskell übersetzen lassen? #include<stdio.h> …
Beim Lesen von https://en.uncyclopedia.co/wiki/Haskell (und beim Ignorieren aller "anstößigen" Dinge) bin ich auf den folgenden verschleierten Code gestoßen: fix$(<$>)<$>(:)<*>((<$>((:[{- thor's mother -}])<$>))(=<<)<$>(*)<$>(*2))$1 Wenn ich diesen Code ausführe ghci(nach dem Importieren Data.Functionund Control.Applicative), wird ghcidie Liste aller Potenzen von 2 gedruckt. Wie funktioniert dieser Code?
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 …
Wenn ich durch das Haskell-Präludium schaue, sehe ich eine Funktionconst : const x _ = x Ich kann anscheinend nichts Relevantes zu dieser Funktion finden. Was ist der Punkt? Kann jemand ein Beispiel geben, wo diese Funktion verwendet werden könnte?
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 …
Eine klassische Programmierübung besteht darin, einen Lisp / Scheme-Interpreter in Lisp / Scheme zu schreiben. Die Leistung der vollständigen Sprache kann genutzt werden, um einen Interpreter für eine Teilmenge der Sprache zu erstellen. Gibt es eine ähnliche Übung für Haskell? Ich möchte eine Teilmenge von Haskell mit Haskell als Engine …
In meiner jüngsten Arbeit mit Gibbs samplinghabe ich das sehr gut genutzt, RVarwas meiner Ansicht nach eine nahezu ideale Schnittstelle zur Erzeugung von Zufallszahlen bietet. Leider konnte ich Repa nicht verwenden, da ich keine monadischen Aktionen in Karten verwenden konnte. Während eindeutig monadische Karten im Allgemeinen nicht parallelisiert werden können, …
Kann mir jemand sagen, warum das Haskell-Präludium zwei separate Funktionen für die Potenzierung definiert (dh ^und **)? Ich dachte, das Typensystem sollte diese Art der Vervielfältigung beseitigen. Prelude> 2^2 4 Prelude> 4**0.5 2.0
Ich versuche, einige einfache automatische physikalische Systeme (wie Pendel, Roboterarme usw.) In Haskell zu visualisieren. Oft können diese Systeme durch Gleichungen wie beschrieben werden df/dt = c*f(t) + u(t) wo u(t)repräsentiert eine Art "intelligente Steuerung". Diese Systeme scheinen sehr gut in das Paradigma der funktionalen reaktiven Programmierung zu passen. Also …
Wir alle wissen (oder sollten wissen), dass Haskell standardmäßig faul ist. Nichts wird ausgewertet, bis es ausgewertet werden muss. Wann muss also etwas bewertet werden? Es gibt Punkte, an denen Haskell streng sein muss. Ich nenne diese "Strenge Punkte", obwohl dieser spezielle Begriff nicht so weit verbreitet ist, wie ich …
Ich habe allgemein gehört, dass Produktionscode die Verwendung von Lazy I / O vermeiden sollte. Meine Frage ist, warum? Ist es jemals in Ordnung, Lazy I / O außerhalb des Herumspielens zu verwenden? Und was macht die Alternativen (zB Enumeratoren) besser?
Dieser Teil des Haskell-Codes läuft mit aber viel langsamer-O-O sollte aber ungefährlich sein . Kann mir jemand sagen, was passiert ist? Wenn es darauf ankommt, ist es ein Versuch, dieses Problem zu lösen , und es verwendet die binäre Suche und den persistenten Segmentbaum: import Control.Monad import Data.Array data Node …
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.