¿Cuál es la mejor manera de usar F # para analizar un AST para construir un intérprete? Hay muchos ejemplos de F # para sintaxis trivial (operaciones aritméticas básicas) pero parece que no puedo encontrar nada para lenguajes con rangos de características mucho mayores.F # parsing Árboles sintácticos abstractos
Las uniones discriminadas parecen ser increíblemente útiles, pero ¿cómo construir una con un gran número de opciones? ¿Es mejor definir los tipos (por ejemplo, suma, resta, condicionales, flujo de control) en otro lugar y simplemente juntarlos como tipos predefinidos en la unión?
¿O me he perdido algún medio mucho más eficaz de escribir intérpretes? ¿Tener una función eval para cada tipo es más efectiva, o quizás usar mónadas?
Gracias de antemano
enlace a la entrada del blog anterior parece estar roto. –