template-haskell

Template Haskell ist eine GHC-Erweiterung von Haskell, die Metaprogrammierungsfunktionen zur Kompilierungszeit hinzufügt. Dies ermöglicht Benutzern, Programme zu schreiben, die ihr Programm zur Kompilierzeit erzeugen oder modifizieren: eine Form von Kompilierzeit-Makros.
2
Antworten

Generieren von Linsen für eine "Linsen" -Bibliothek mit einem benutzerdefinierten Namensprozessor anstelle des standardmäßigen "Unterstrichs"

Der Standard makeLenses Implementierung generiert Linsen für alle Felder eines Datensatzes, die mit Unterstrich beginnen. Ich mag die Idee, aus vielen Gründen eine so unangenehme Benennungskonvention in meine Aufzeichnungen aufnehmen zu müs...
16.06.2013, 10:49
5
Antworten

Generieren Sie eine zufällige Zeichenfolge zur Kompilierzeit oder Laufzeit und verwenden Sie sie im Rest des Programms

Was wäre der beste Weg, dies zu tun? %Code%? Vorlage Haskell? Etwas anderes? Ich habe noch nie eines von beiden benutzt, daher kenne ich nicht viele Details, sie zu benutzen. Beachten Sie, dass das Programm jedes Mal kompiliert wird, wenn es...
06.07.2013, 06:03
5
Antworten

Wie schreibe ich eine Monade, die beim Ausführen jeder Anweisung in der Monade "Schritt i von N" ausgibt?

Ich bin mir nicht einmal sicher, ob das in irgendeiner Art von Monade möglich ist; Verstößt es gegen Monadengesetze? Aber es scheint etwas zu sein, das in irgendeiner Art von Konstrukt möglich sein sollte. Insbesondere gibt es eine Möglichkeit,...
29.11.2013, 20:05
1
Antwort

Auswerten einer Funktion zur Kompilierungszeit mit Template Haskell

Ich schreibe eine einfache HashString-Klasse, die nur eine Zeichenfolge und deren Hash ist: %Vor% Nun versuche ich diese zur Kompilierzeit mit etwas wie: zu erzeugen %Vor% Ich möchte, dass der Hash und der Text zur Kompilierungszeit pass...
11.02.2012, 20:29
1
Antwort

Ermittlung der Implementierung der Methode basierend auf verfügbaren Einschränkungen

Angenommen, ich habe folgende Memo-Funktionen. (Ignoriere die Tatsache, dass sie bitte rein sind.) %Vor% Jetzt möchte ich ein Konstrukt haben, das es mir erlaubt, das "Beste" der obigen drei Memo-Funktionen zu wählen. Etwas, das im Wesentlic...
29.05.2013, 13:20
1
Antwort

Haskell untersucht die Feldnamen und Typen eines Datensatzes

Basierend auf einem kürzlichen Austausch , I Ich bin davon überzeugt, Template Haskell zu verwenden, um Code zu generieren, der die Sicherheit beim Kompilieren gewährleistet. Ich muss die Feldnamen und Typen von Datensätzen prüfen. Ich verst...
30.12.2011, 23:19
2
Antworten

Template Haskell: Wie extrahiert man die Anzahl der Argumente einer Funktion?

Ich habe eine Funktion, die eine Name einer Funktion gibt, die sie erweitert, was eine andere Funktion ergibt, die auf andere Dinge angewendet wird (Details sind nicht sehr relevant): %Vor% Das funktioniert, aber es ist mühsam, die Anzahl...
07.12.2013, 17:04
1
Antwort

Vorlage Haskell-Datendeklarationen, die Show ableiten

Folgendes kompiliert nicht: %Vor% Ich kann nicht erkennen, was der Fehler überhaupt bedeutet: %Vor% Kann man Ableitungen wie diese machen?     
31.12.2011, 18:01
1
Antwort

QuasiQuote mit Argumenten

Ich möchte ein Zitat in Haskell schreiben. Das Namensargument muss in gen-Funktion übergeben werden, um eine Deklaration zu generieren. %Vor% Es scheint jedoch, dass ich das Zitat nicht so verwenden kann %Vor% Da Haskell keine Quote-Dekl...
08.12.2014, 02:32
2
Antworten

Erzeugen Sie eine Funktion mit Template Haskell

Ist es möglich, eine Funktion mit Template Haskell zu definieren? Zum Beispiel %Vor% Ich habe auch eine Map [Char] Int . %Vor% Wie kann ich Funktionen hinzufügen ? %Vor% zur Kompilierzeit mit Template Haskell und dem Map ? Es ersc...
29.05.2015, 12:59