ocaml不可变字符串优势

ocaml不可变字符串优势,ocaml,immutability,Ocaml,Immutability,我最近在上遇到了Ocaml的Astring模块 图书馆的作者在自述中陈述了以下内容: ...fully exploits OCaml's newfound string immutability 字符串的不变性给字符串库的实现带来了什么样的好处?我试着阅读资料来源,但找不到任何具体的优势。有绩效效益吗? 它允许更安全的模式吗 不变性的主要用途是,您可以操作子字符串而不需要它的副本 这就是为什么会有。如果字符串是可变的,则整个模块将不健全。当函数返回字符串并且该字符串已经存在时,您不必为结果复制

我最近在上遇到了Ocaml的
Astring
模块

图书馆的作者在自述中陈述了以下内容:

...fully exploits OCaml's newfound string immutability
字符串的不变性给字符串库的实现带来了什么样的好处?我试着阅读资料来源,但找不到任何具体的优势。有绩效效益吗?
它允许更安全的模式吗

不变性的主要用途是,您可以操作子字符串而不需要它的副本


这就是为什么会有。如果字符串是可变的,则整个模块将不健全。

当函数返回字符串并且该字符串已经存在时,您不必为结果复制该现有字符串

以下是几个简单的例子:

String.append s "" 
String.append "" s
String.trim "bla"

如果字符串是可变的,那么在这种情况下,您必须始终返回一个副本。

太好了!谢谢这正是我要找的。