NewbieQ: colon prefix for operators, e.g., Ratio ?

Apologies if this is the wrong mailing list in which to pester folks with Newbie Questions, but I couldn't find my answer after half an hour of scouring the Haskell Report, the Haskell Wiki, the School of Expression book and a couple of tutorials. The frustrating thing is that I know I saw the answer in ONE of those sources and it didn't stick at the time: what does it mean when an operator is prefixed by a colon? For instance, in the Ratio module, the meaning of x % y is clear, but x :% y appears in multiple places and I'm confused.

On Sunday 10 October 2004 10:35 pm, Brian Beckman wrote:
Apologies if this is the wrong mailing list in which to pester folks with Newbie Questions, but I couldn't find my answer after half an hour of scouring the Haskell Report, the Haskell Wiki, the School of Expression book and a couple of tutorials. The frustrating thing is that I know I saw the answer in ONE of those sources and it didn't stick at the time:
what does it mean when an operator is prefixed by a colon? For instance, in the Ratio module, the meaning of x % y is clear, but x :% y appears in multiple places and I'm confused.
It's in the Report. http://www.haskell.org/onlinereport/lexemes.html#sect2.4 Operator symbols are formed from one or more symbol characters, as defined above, and are lexically distinguished into two namespaces (Section 1.4): * An operator symbol starting with a colon is a constructor. * An operator symbol starting with any other character is an ordinary identifier. So (:%) is the constructor for the Ratio type, whereas (%) is a function that returns a Ratio.
participants (2)
-
Brian Beckman
-
Matt Harden