ajb:
> G'day all.
>
> Quoting Ben Escoto <[EMAIL PROTECTED]>:
>
> > Hi, can someone tell me why Haskell strings are linked lists?
>
> Because that's the way it was done in Miranda, almost 20 years ago.
>
> OK, to be fair, it does make string-to-string operations a bit more
> convenient. Apart from undergraduate homework exercises and some
> specific domains, though, this isn't exactly the "common case" of
> all situations where people want strings.
>
> As a matter of pure speculation, how big an impact would it have if, in
> the next "version" of Haskell, Strings were represented as opaque types
> with appropriate functions to convert to and from [Char]? Would there be
> rioting in the streets?
You could look at GHC's FastString representation (used internally).
It is in $fptools/ghc/compiler/utils/FastString.lhs
data FastString
= FastString -- packed repr. on the heap.
Int# -- unique id
Int# -- length
ByteArray# -- stuff
Now that is pretty compact.
-- Don
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell