Am 03.05.2011 um 13:39 schrieb Stephen Tetley: > Does it have an obvious default implementation, bearing in mind it we > might really want a total function? > > sconcat [] = error "Yikes - I wish this was total!" > sconcat [a] = a > sconcat (a:as) = a <> sconcat as
You have to provide the "neutral" element by yourself: infixl 4 <>> a <>> [] = a a <>> (b:bs) = a <> b <>> bs > > Best wishes > > Stephen > > On 3 May 2011 12:12, Yitzchak Gale <g...@sefer.org> wrote: > [SNIP] >> It has the obvious default implementation, >> but allows for an optimized implementation for >> specific instances. That turns out to be something >> that comes up all the time (at least for me) in >> real life. > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe