Als «haskell» getaggte Fragen

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.



9
Wie funktionieren funktionale Programmiersprachen?
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> …


3
Wie funktioniert dieser verschleierte Haskell-Code?
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?
91 haskell 


9
Was ist der Sinn von 'const' im Haskell-Präludium?
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?
91 haskell 

3
mtl, transformatoren, monads-fd, monadLib und das paradox der wahl
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 …

15
Schreiben Sie einen Haskell-Dolmetscher in Haskell
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 …

2
Paralleles mapM auf Repa-Arrays
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, …

4
Potenzierung in Haskell
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

3
Wie ist der Status der aktuellen Implementierungen der funktionalen reaktiven Programmierung?
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 …

7
Was sind Haskells Strengepunkte?
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 …

5
Was ist so schlimm an Lazy I / O?
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?

1
Warum läuft dieser Haskell-Code mit -O langsamer?
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.