Ich lese ein Programm mit der folgenden Definition:
type 'a queue = ('a list * 'a list) ref
Ich verstehe die Syntax hier nicht. Ist es eine Gewerkschaft oder was?
Lösung des Problems
Dies ist ein Synonym/Alias. Der Typ ('a list * 'a list) ref
macht in OCaml bereits Sinn (es ist ein Verweis auf ein Listenpaar vom Typ 'a
), wir geben ihm einen neuen, kürzeren Namen, 'a queue
. Genauer gesagt queue
ist der Name eines parametrisierten Typs, und der Parameter wird 'a
hier benannt.
Keine Kommentare:
Kommentar veröffentlichen