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.

1415
Was ist eine Monade?

Was wäre eine kurze, prägnante und praktische Erklärung, was eine Monade im Wesentlichen ist , nachdem sie sich kürzlich kurz mit Haskell befasst hat? Ich habe festgestellt, dass die meisten Erklärungen, auf die ich gestoßen bin, ziemlich unzugänglich sind und keine praktischen Details...

755
Erste Schritte mit Haskell

Die Antworten dieser Frage sind eine Gemeinschaftsanstrengung . Bearbeiten Sie vorhandene Antworten, um diesen Beitrag zu verbessern. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Seit einigen Tagen versuche ich, mich mit dem Paradigma der funktionalen Programmierung in...

392
Transitivität der Auto-Spezialisierung in GHC

Aus den Dokumenten für GHC 7.6: [Y] Oft brauchen Sie gar nicht erst das Pragma SPEZIALISIEREN. Beim Kompilieren eines Moduls M berücksichtigt der Optimierer von GHC (mit -O) automatisch jede in M ​​deklarierte überladene Funktion der obersten Ebene und ist auf die verschiedenen Typen spezialisiert,...

368
Was sind freie Monaden?

Ich habe den Begriff gesehen Freie Monad Pop - up jeden jetzt und dann für einige Zeit, aber jeder scheint nur zu benutzen / diskutieren sie , ohne eine Erklärung zu geben , was sie sind. Also: Was sind freie Monaden? (Ich würde sagen, ich bin mit Monaden und den Grundlagen von Haskell vertraut,...

366
Warum brauchen wir Monaden?

Meiner bescheidenen Meinung nach die Antworten auf die berühmte Frage "Was ist eine Monade?" Versuchen Sie, insbesondere die am häufigsten gewählten, zu erklären, was eine Monade ist, ohne klar zu erklären, warum Monaden wirklich notwendig sind . Können sie als Lösung für ein Problem erklärt...

322
Techniken zum Verfolgen von Einschränkungen

Hier ist das Szenario: Ich habe Code mit einer Typensignatur geschrieben und GHC-Beschwerden konnten für einige xund nicht auf x ~ y schließen y. Normalerweise können Sie GHC einen Knochen werfen und einfach den Isomorphismus zu den Funktionseinschränkungen hinzufügen. Dies ist jedoch aus mehreren...