是否有任何库将ref
s、atom
s 和agent
s 带入 C 代码?
是否还有结构共享库供 C 伴随?
据我所知没有。
即使有,恕我直言,它也不是特别适合 C 代码:
swap!
,更新原子的函数本身就是一个高阶函数。虽然我并不是说如果你有足够的决心,你就不能用 C 编写函数式 STM 代码……但它并不适合,而且你最终可能会重新发明像 Lisp 这样的东西。我想起了 Greenspun 的第十条编程规则:
任何足够复杂的 C 或 Fortran 程序都包含一个临时的、非正式指定的、充满错误的、缓慢的 Common Lisp 一半的实现。
基本上,为工作使用正确的工具:-)