T4 ist die "offizielle" Codegenerierungs-Engine für C#/VB.NET. Aber F# doesn't support it (das ist von April, aber ich konnte keine neueren Erwähnungen finden). Also, was ist eine gute Möglichkeit, F # -Code zu generieren?Generierung von F # -Code
EDIT:
I 2-3 finger trees in F # implementieren möchten. Ich habe sie bereits in C# implementiert, also sollte das ein schöner Vergleich sein. Die „Ziffern“ und Knoten des Baumes können als Arrays dargestellt werden, so
type 't FingerTree = Empty | Single of 't | Deep of 't array * (('t FingerTree) array) lazy * 't array
jedoch die maximale Größe dieser Arrays ist sehr klein, so wäre es schön, haben
type 't Digit = Digit1 of 't | Digit2 of 't*'t | Digit3 of 't*'t*'t | Digit4 of 't*'t*'t*'t
type 't Node = Node2 of 't FingerTree * 't FingerTree | Node3 of 't FingerTree * 't FingerTree * 't FingerTree
type 't FingerTree = Empty | Single of 't | Deep of 't Digit * ('t Node) lazy * 't Digit
um Grenzen zu vermeiden, etc.
Aber dann alle Funktionen auf Ziffer und Knoten von Hand zu schreiben wird schwieriger, und es ist besser, sie zu generieren. Und ein T4-ähnlicher Ansatz sieht perfekt dafür aus ...
Ich werde nur werfen [diese] (https://github.com/kerams/Templatus) gibt. Es ist etwas, das ich kürzlich zusammengehackt habe. – nphx