¿Cómo se usan los datos en caché en un lenguaje funcional como Erlang?

He estado leyendo un poco últimamente sobre lenguajes funcionales. Después de más de 10 años de desarrollo OO, me resulta difícil entender cómo demonios se puede señalar el enfoque funcional puro (es decir, el mismo método llamado con los mismos parámetros hace lo mismo) en un problema en el que típicamente (en un programa OO) necesitaría almacenar datos en caché.

¿Solo admitimos que puede ser necesario que haya un actor en el programa que no sea inmutable (es decir, el caché)? Acabo de ver unpresentación de Joe Armstrong en infoq ¡y parecía bastante dogmático a este respecto!

¿Admitimos que buscar datos puede ser costoso (porque nunca podemos almacenarlo en caché)? Si es así, ¿cómo podemos controlar, por ejemplo, la carga en algún recurso compartido (por ejemplo, una base de datos)

Hay algo de polvo mágico de hadas, que aún no conozco, que resuelve todo el problema y luego hace una buena taza de té.

Ciertamente, una búsqueda en Google de "Erlang Cache" parece arrojar algunos resultados justos ...

Respuestas a la pregunta(6)

Su respuesta a la pregunta