Die Standardbibliothek bietet eine printf
-Funktion, die Varadic zu verwalten. Was es jedoch nicht tut, ist die Kompilierzeitüberprüfung, ob die Argumenttypen mit der Formatzeichenfolge übereinstimmen. Das würde abhängige Typen erfordern, und es klingt, als wäre es auch wirklich schwer zu implementieren! (Sie müssten die gesamte Formatzeichenfolge mit Typensignaturen analysieren ... yuck!)Typ-safe printf
Aber auf Nachdenken, jetzt frage ich mich ... Können wir das mit Template Haskell machen? In der Tat hat jemand schon eine Bibliothek dafür geschrieben ??
(Es sieht aus wie Sie ziemlich leicht einen quasi-quoter schreiben könnte, die eine printf-Format-Spezifikation liest und erzeugt die notwendige N-arg-Funktion ...)
Interessant. Ich schaue jetzt Hackage an, und ich sehe nicht ... oh, warte, es ist nicht unter Text, es ist unter Utils. Und wow, schau dir all die Dokumentation an, die es hat ... :-( – MathematicalOrchid
@MathematicalOrchid Ich habe gerade den Quellcode überprüft und es scheint, als wäre die Datei nicht mit dem Schellfisch-Markup dokumentiert. Seltsam, dass niemand das Paket verwaltet ... – Tarrasch