[Haskell-cafe] NewbieQ: colon prefix for operators, e.g., Ratio ?

Matt Harden matth at mindspring.com
Mon Oct 11 00:31:37 EDT 2004

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. 


	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

So (:%) is the constructor for the Ratio type, whereas (%) is a function that 
returns a Ratio.

More information about the Haskell-Cafe mailing list