Domanda

Sto cercando di creare un tipo con più parametri di tipo. So come creare un tipo con un parametro:

type 'a foo = 'a * int

Ma ho bisogno di avere due parametri, in modo da poter parametrizzare la parte 'int'. Come posso farlo?

È stato utile?

Soluzione

Il modo per farlo è:

type ('a, 'b) foo = 'a * 'b

I parametri di tipo non sono curry, quindi è necessario fornirli in forma di tupla come un singolo parametro. Un buon esempio di ciò è il modulo Hashtbl:

type ('a, 'b) t 
     

Il tipo di tabelle hash dal tipo 'a   per digitare "b.

Altri suggerimenti

# type ('a,' b) couple = 'a *' b ;;

Ad esempio ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top