[Haskell-beginners] More than one way to skin a cat question - repeat

Tom Davie tom.davie at gmail.com
Thu Apr 11 11:53:03 CEST 2013


On 11 Apr 2013, at 10:47, Benjamin Edwards <edwards.benj at gmail.com> wrote:

> (:) is O(1), (++) is O(n). Try and implement (++) and it should be easy to see why.
> 
(++) is O(n) in the length of it's first argument, which here is a constant 1, so it's O(1).

That said, the book's implementation is *margionally* better.  The implementation using (++) creates the list [x], and then destroys it again, and creates another one when it does the append.  The version using (:) does not do this.

Thanks

Tom Davie


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130411/de6048d1/attachment.htm>


More information about the Beginners mailing list