Generierung von F # -Code

T4 ist die "offizielle" Codegenerierungs-Engine für C # / VB.NET. AberF # unterstützt es nicht (Dies ist ab April, aber ich konnte keine neueren Erwähnungen finden). Was ist also ein guter Weg, um F # -Code zu generieren?

BEARBEITEN:

Ich möchte umsetzen2-3 Fingerbäume in F #. Ich habe sie bereits in C # implementiert, daher sollte dies ein guter Vergleich sein. Die "Ziffern" und Knoten des Baumes können also als Arrays dargestellt werden

type 't FingerTree = Empty | Single of 't | Deep of 't array * (('t FingerTree) array) lazy * 't array

Die maximale Größe dieser Arrays ist jedoch sehr klein, es wäre also schön, sie zu 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

Grenzen überprüfen, etc. zu vermeiden

Aber dann wird es schwieriger, alle Funktionen auf Digit und Node von Hand zu schreiben, und es ist besser, sie zu generieren. Und ein T4-ähnlicher Ansatz sieht perfekt dafür aus ...

Antworten auf die Frage(4)

Ihre Antwort auf die Frage