<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 22, 2015 at 1:56 AM, Olumide <span dir="ltr"><<a href="mailto:50295@web.de" target="_blank">50295@web.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is the operator :-: a constructor? I'm confused because the definition of :-: is not prefixed by the data keyword?</blockquote></div><br></div><div class="gmail_extra">The confusion is that the pattern-matching for append, i.e. (.++), is done infix style:<br><br>
Empty .++ ys = ys<br>
(x :-: xs) .++ ys = x :-: (xs .++ ys)<br><br></div><div class="gmail_extra">This defines (.++).<br><br>It doesn't define (:-:).<br><br>The definition of (.++) pattern matches on (:-:) in (.++)-infix style to do the job.<br></div><div class="gmail_extra"><br clear="all"><div><div>-- Kim-Ee</div></div>
</div></div>