Hindley-Milner è un sistema di tipi che è alla base dei sistemi di tipi di molti ben noti linguaggi di programmazione funzionale. Damas-Milner è un algoritmo che deduce (deduce?) Tipi in un sistema di tipo Hindley-Milner.Descrivi l'inferenza di tipo Damas-Milner in modo che uno studente CS101 possa capire
Wikipedia fornisce una descrizione dell'algoritmo che, per quanto posso dire, equivale a una singola parola: "unificazione". È tutto lì? Se è così, ciò significa che la parte interessante è il sistema di tipo in sé e non il sistema di inferenza di tipo.
Se Damas-Milner è più dell'unificazione, vorrei una descrizione di Damas-Milner che includa un semplice esempio e, idealmente, un codice.
Inoltre, si dice spesso che questo algoritmo faccia inferenza di tipo. È davvero un sistema di inferenza? Pensavo che fosse solo la deduzione dei tipi.
domande correlate: