I checked Haskell but even there they are using mutable data types internally.
Assuming everything is immutable, is there a way to have a cache?
Edit: Assume this is a general purpose cache which is supposed to keep the result of a computation (e.g. reading from a DB)