Muchas personas entusiastas de la informática en los 80 han oído hablar de la serie Infocom de juegos de ficción interactivos, notablemente como "Zork", "Guía del autoestopista" Galaxy ',' Planetfall ',' A Mind Forever Voyaging ', etc.Tratando con memoria escriturable en Haskell - Implementación de Z-Machine VM de Infocom
Estos juegos se implementaron en la parte superior de la máquina virtual "Z-Machine". La máquina se implementa como un bloque de RAM, una pila y un procesador virtual. El proceso ejecuta instrucciones que pueden leer y escribir dinámicamente en la RAM.
Mi pregunta es esta: la memoria RAM de las máquinas virtuales es dinámica. ¿Cuál es una forma eficiente y razonablemente idiomática de representar esta memoria RAM (y más holísticamente la estructura de la máquina virtual) para poder implementar software para ejecutar estos juegos? Por ejemplo, ¿debería usar Data.Array para representar la RAM y la mónada de estado?
¿Alguna vez implementó esto? – amindfv
Tengo curiosidad por mí mismo, podría ser muy interesante. – Textmode