On 10 November 2012 04:00, Johan Tibell <span dir="ltr">&lt;<a href="mailto:johan.tibell@gmail.com" target="_blank">johan.tibell@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><div class="im"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div>As for type classes, I don&#39;t think we use them enough. Perhaps because Haskell wasn&#39;t developed as an engineering language, some good software engineering principles (code against an interface, not a concrete implementation) aren&#39;t used in out base libraries. One specific example is the lack of a sequence abstraction/type class, that all the string, list, and vector types could implement. Right now all these types try to implement a compatible interface (i.e. the traditional list interface), without a language mechanism to express that this is what they do.</div>
</div></blockquote><div> </div></div></div><a href="http://hackage.haskell.org/packages/archive/collections-api/1.0.0.0/doc/html/Data-Collections.html#t:Sequence" target="_blank">Data.Collections</a> has (among others) a Sequence type class and provides instances for the base data types in a separate package. </div>
<div class="gmail_quote">However, it appears that not many people are using it. <br>
</div><br>