On Sun, 2006-08-13 at 20:36 +0200, Marc Weber wrote:
> Is there somethinig corresponding to Num concering lists?
> 
> I mean there is + - /.. defined. + - are not type specific (Int, Double)
> neither is : [1,2] notation to Elements.. But   what  about different
> implementatins of lists? (linked lists? hash lists? array with index?
> 
> In other words: why not overload (:) ?

It might be nice to be able to use (:) to deconstruct other list like
representations however the other list representations cannot
efficiently support construction with (:). For example for the
array-with-an-index representation it is an O(n) operation.

> Then it would be possible to use "blah" for fast packed strings, too

An easier way of doing that might be to define literal strings to
desugar into a function application much like numeric literals desugar
into applications of fromIntegral.

At the moment we can at least get the performance benefit of not
converting via a list representation using GHC rules. So if you write:

pack "blah"

it gets transformed into:

packAddr "blah"#

where that literal string is just the address of a constant C string.

Duncan

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to