Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003544OCamlOCaml generalpublic2005-03-17 03:152016-06-27 21:32
Reporteradministrator 
Assigned Togasche 
PrioritynormalSeverityfeatureReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version4.02.0 
Summary0003544: immutable strings
DescriptionFull_Name: Oliver Bandel
Version: 3.08.0
OS: Mac OS-X
Submission from: dialin-145-254-064-192.arcor-ip.net (145.254.64.192)


Feature Wish:

keyword "immutable" for saying OCaml that a string
is an immutable string, so changing it will be
disallowed.

As in a record it is possible to say that a value
is "mutable" (instead of immutable), so for strings
(but hopefully not only in records) it would be nice
to say "immutable" to get an immutable string.


(but if only possible (or consistent) to have such an
additional keyword in records (like "mutable" is there possible)
than having this possibility only inside of records ie better than
do not have that possibility at all.

but if one could say

let immutable x = "Hello World!"

and a

  x.[0] <- 'x'

would result in an error message ("x is immutable")
than this would be very nice. :)


Best Regards to the OCamnl Team,
   Oliver Bandel

TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0016013)
gasche (developer)
2016-06-27 21:32

Since 4.02 (August 2014), the option -safe-string makes string immutable, and there is a new "bytes" type (and a Bytes module in the standard library) for mutable sequences of bytes. Hopefully -safe-string will be made the default in some future version.

It was a good suggestion, but a few years too soon! (I think there was no technical change that made it possible since, it's more that it took a while to realize that it was enough of a pain to start the transition work.)

- Issue History
Date Modified Username Field Change
2005-11-18 10:13 administrator New Issue
2016-06-27 21:32 gasche Note Added: 0016013
2016-06-27 21:32 gasche Status acknowledged => resolved
2016-06-27 21:32 gasche Fixed in Version => 4.02.0
2016-06-27 21:32 gasche Resolution open => fixed
2016-06-27 21:32 gasche Assigned To => gasche


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker