<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi David,<br><br>You're right, I keep forgetting to look at the source code.<br><br>And I wasn't aware of the info (:i) command. Should come in handy in the future.<br><br>Michael<br><br>--- On <b>Mon, 9/6/10, David Menendez <i>&lt;dave@zednenem.com&gt;</i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: David Menendez &lt;dave@zednenem.com&gt;<br>Subject: Re: [Haskell-cafe] Operator precedence<br>To: "michael rice" &lt;nowgate@yahoo.com&gt;<br>Cc: haskell-cafe@haskell.org, "Daniel Díaz" &lt;lazy.ddiaz@gmail.com&gt;<br>Date: Monday, September 6, 2010, 1:50 PM<br><br><div class="plainMail">On Mon, Sep 6, 2010 at 1:37 PM, michael rice &lt;<a ymailto="mailto:nowgate@yahoo.com" href="/mc/compose?to=nowgate@yahoo.com">nowgate@yahoo.com</a>&gt; wrote:<br>&gt;<br>&gt; A "concrete"
 library?<br>&gt;<br>&gt; I'm playing around with Data.Bits. It has .&amp;. and .|. which I assume are functions<br>&gt; (rather than operators) because I don't see and infix statement for them. Correct?<br><br>.|. and .&amp;. are operators because they are made from symbol<br>characters. Operators default to infixl 9&nbsp;unless specified otherwise,<br>so no infix declaration is needed.<br>However, Data.Bits does have infix declarations for .&amp;. and .|. :<br><br>infixl 8 `shift`, `rotate`, `shiftL`, `shiftR`, `rotateL`, `rotateR`<br>infixl 7 .&amp;.<br>infixl 6 `xor`<br>infixl 5 .|.<br><br>If you want to check the fixity of an operator, use :info in GHCi.<br>Prelude Data.Bits&gt; :i .|.<br>class (Num a) =&gt; Bits a where<br>&nbsp;&nbsp;...<br>&nbsp;&nbsp;(.|.) :: a -&gt; a -&gt; a<br>&nbsp;&nbsp;...<br>&nbsp;&nbsp; -- Defined in Data.Bits<br>infixl 5 .|.<br><br>--<br>Dave Menendez &lt;<a ymailto="mailto:dave@zednenem.com"
 href="/mc/compose?to=dave@zednenem.com">dave@zednenem.com</a>&gt;<br>&lt;<a href="http://www.eyrie.org/%7Ezednenem/" target="_blank">http://www.eyrie.org/~zednenem/</a>&gt;<br></div></blockquote></td></tr></table><br>