Puede buscar en Google haskell "double colon"
o cosas similares; desafortunadamente es un poco difícil buscar la sintaxis de google, pero en este caso puedes nombrarlo.
En Haskell, sus programas a menudo funcionarán bien sin él (aunque querrá usarlo para perfeccionar la especificación de las funciones que defina, y es una buena práctica).
La idea es que puede insertar un :: ...
en cualquier lugar (incluso en el medio de una expresión) para decir "por cierto Mr. Compiler, esta expresión debe ser del tipo ...
". El compilador lanzará un error si se puede probar que este no es el caso.
Creo que también puede usarlo para "emitir" funciones a las versiones que desee; p.ej. si una función es "polimórfica" (tiene una firma de tipo general) y realmente desea, digamos un Integer
, entonces podría hacer :: Integer
en el valor resultante tal vez; Aunque estoy un poco oxidado.
Significa * tiene tipo *, por lo que ejecutar tiene tipo Int -> Int -> Int. ¿Cómo crees que puedes leer los programas de Haskell sin siquiera saber conceptos, símbolos y conceptos básicos del lenguaje? Algunas veces * es * una buena idea leer una referencia de lenguaje, y Haskell tiene una muy buena. – Ingo
Gracias @Ingo ¿dónde podría encontrar esa referencia? – maclunian
Su punto de partida es siempre haskell.org. El Informe Haskell 2010 está aquí: http://haskell.org/definition/haskell2010.pdf – Ingo