Browse thread
Array 4 MB size limit
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Martin Jambon <martin_jambon@e...> |
| Subject: | Re: [Caml-list] Re: immutable strings (Re: Array 4 MB size limit) |
On Thu, 25 May 2006, Stefan Monnier wrote: >> IMHO strings should be possibly made immutable by using the "immutable" >> keyword, which is the opposite of the "mutable" keyword as it is used for >> records. So the user/programmer can chose the kind of strings he7she wants. > > I think it's OK to have (mutable) byte arrays, but strings should simply > always be immutable. OCaml strings are compact byte arrays which serve their purpose well. Having a whole different type for immutable strings is in my opinion a waste of energy. The problem is that freezing or unfreezing a string safely involves a copy of the whole string. And obviously it's not possible to handle only immutable strings since somehow you have to create them, and unlike record fields, they won't be set in one operation but in n operations, n being the length of the string. So I'd really love to see actual examples where using immutable strings would be such an improvement over mutable strings. If the problem is just to ensure that string data won't be changed by the user of a library, then it is trivial using module signatures and String.copy for the conversions. Martin -- Martin Jambon, PhD http://martin.jambon.free.fr Edit http://wikiomics.org, bioinformatics wiki