As far as I've been able to gather, the single colon in Haskell is used in list comprehension. Why then does it show up in the :t command? Also in the :quit command? There isn't any list comprehension being done, is there?
The :t
(short for :type
) syntax is special to GHCi, and is not part of the Haskell language syntax. This is similar to how the SQLite interpreter accepts .tables
as a command, even though this isn't valid a SQL statement. If you type :?
, you can see a complete list of all the commands GHCi understands.
As for using the colon in actual Haskell code:
So, for example, "?:?
" is a legal operator name, and :??
is a legal constructor operator name.
x ?:? y = ...whatever...
data Foobar = Int :?? Bool
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With