是否有任何技术可以使用完全不变的编程语言来实现缓存?

问题描述 投票:0回答:1

我检查了Haskell,但即使在那儿,它们也在内部使用可变数据类型。

假设一切都是不可变的,有没有办法拥有缓存?

编辑:假定这是一个通用缓存,应该保留计算结果(例如,从数据库读取)

caching functional-programming immutability
1个回答
0
投票

尽管我正在使用Scala,但我遇到了这篇文章,试图做与OP想要做的事情类似的事情。在Scala中,变量和对象可以是可变的,因此您可以随时使用可变类型。

但是如果没有,您可以在[Haskell]中将State monadData.Map结合使用,以不可变数据为有状态,可变的缓存建模。在Scala中,您可以将State monad in Cats与不可变的映射一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.