<div dir="ltr">I just ran into this formula<div><br></div><div><font face="monospace">head = foldr (<<) ⊥ where x << y = x</font></div><div><font face="monospace"><br></font></div><div><font face="arial, sans-serif">in Bird and Gibbons' <i>Algorithm Design with Haskell</i> and I understand it's a sort of pseudo-code. Intuitively, I understand that </font><font face="monospace">foldr</font><font face="arial, sans-serif"> will take "bottom" as its "starter seed", but I don't know how to convert the </font><font face="monospace"><< </font><font face="arial, sans-serif">into Haskell code. This works</font></div><div><font face="arial, sans-serif"><br></font></div><div><font face="monospace">myHead = foldr choose1st undefined where choose1st x y = x</font></div><div><br></div><div>but I can't get </div><div><br></div><div><font face="monospace">myHead2 = foldr (<<) undefined where << x y = x</font></div><div><br></div><div>to work. How do you create a non-alphanumeric operator like <font face="monospace"><<</font>?<br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>⨽<br></div>Lawrence Bottorff<div>Grand Marais, MN, USA</div><div><a href="mailto:borgauf@gmail.com" target="_blank">borgauf@gmail.com</a></div></div></div></div></div>