Hola, esta es la primera vez que publico en Stack Overflow y me he encontrado con un problema al intentar construir un tipo en OCamlTipos recursivos en OCaml?
Estoy intentando construir un árbol tipo que tenga nodos/hojas/etc. Esto es lo que tengo hasta ahora.
type ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a * tree) | ....
Mi nodo se supone que es un tipo que contiene su nombre y otro árbol como una tupla. Pero cuando traté de compilar esto, dijo que el árbol requería dos argumentos. Así que probé:
type ('a, 'b) tree = Empty | Leaf of 'b | Node of ('a * tree ('a*'b))
y todavía recibía un error. ¿Algo que notaste que estaba haciendo mal? ¡Gracias!
Resulta que mi sintaxis era incorrecta. En realidad debería ser Nodo ('a * (' a, 'b) árbol) – Brian
Correcto. Sin embargo, sería educado aceptar la respuesta de Gasche, ya que responde tu pregunta. Me pregunto si está seguro de que quiere tipos distintos para los nodos de hojas e interiores. –