Вы можете погуглить на haskell "double colon"
или похожие вещи;к сожалению, сложно найти синтаксис в Google, но в этом случае вы можете назвать его.
В Haskell ваши программы будут часто работать без него (хотя вы захотите использовать его для уточнения спецификации любого приложения).функции, которые вы определяете, и это хорошая практика).
Идея состоит в том, что вы можете вставить :: ...
в любом месте (даже в середине выражения), чтобы сказать "кстати, мистер Компилятор, это выражениедолжен быть типа ...
".Затем компилятор выдаст ошибку, если можно доказать, что это может быть не так.
Я думаю, вы также можете использовать ее для «приведения» функций к нужным версиям;например, если функция «полиморфна» (имеет сигнатуру общего типа) и вы действительно хотите, скажем, Integer
, то вы можете сделать :: Integer
для полученного значения, возможно;Хотя я немного ржавый.