Gerando código F #
T4 é o mecanismo de geração de código "oficial" para C # / VB.NET. MasF # não suporta (é de abril, mas não consegui encontrar nenhuma menção mais recente). Então, qual é uma boa maneira de gerar código F #?
EDITAR:
Eu quero implementar2-3 árvores de dedo em F #. Eu já os implementei em C #, então essa deve ser uma boa comparação. Os "dígitos" e os nós da árvore podem ser representados como matrizes, portanto
type 't FingerTree = Empty | Single of 't | Deep of 't array * (('t FingerTree) array) lazy * 't array
No entanto, o tamanho máximo dessas matrizes é muito pequeno, por isso seria bom ter
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
para evitar a verificação de limites etc.
Mas, então, escrever todas as funções no Digit e no Node manualmente fica mais difícil e é melhor gerá-las. E uma abordagem do tipo T4 parece perfeita para isso ...