Arquitecturas informáticas NO basadas en matrices [cerrado]

9

El artículo original de Wadler sobre Mónadas para la programación funcional (Haskell), dice

Otra pregunta con una larga historia es si es conveniente basar los programas en la actualización de la matriz. Dado que se ha dedicado tanto esfuerzo al desarrollo de algoritmos y arquitecturas basadas en matrices, dejaremos de lado este debate y simplemente asumiremos que la respuesta es sí.

No hay citas ni pistas sobre otras arquitecturas posibles. He oído algo sobre una arquitectura adaptada a Lisp. ¿Alguien puede guiarme con algunas explicaciones y orientación sobre dónde / cómo puedo comenzar con este tema? Le agradecería mucho que pueda explicar brevemente la diferente arquitectura.

Asterisco
fuente
1
Quizás sea posible agregar algún tipo de soporte de hardware para hacer que los árboles sean más eficientes de lo que son ahora. Especialmente en relación con la localidad de caché.
CodesInChaos
En cierto sentido, una computadora con múltiples núcleos es más adecuada para un lenguaje puro.
PyRulez
@CodesInChaos La wiki tiene un muñón en la máquina Graph Reduction y un enlace a la máquina SECD basada en un artículo de 1963. No estoy seguro si eso es todo.
Asterisco

Respuestas:

0

Existe la máquina Symbolics Lisp , también Lisp Machine


En otra nota, eso también podría ser apropiado, solía haber hardware personalizado para la programación del flujo de datos. Este texto dice que el concepto desarrollado en los años 70 y el hardware personalizado se persiguió hasta los 80.

Erik Eidt
fuente
Las listas son realmente solo matrices con características adicionales.
Robert Harvey
@RobertHarvey Conceptualmente muy diferente. Uno proporciona operaciones indexadas, el otro secuencial. Solo se requiere uno para estar al tanto del siguiente (y anterior), es decir, soy parte de una secuencia. En realidad, una matriz no necesita almacenar contenido secuencialmente. Es solo conveniencia. Una matriz solo necesita proporcionar un índice (este índice puede ser conceptualmente cualquier cosa) y ese índice puede usarse para buscar y actualizar el elemento en O (1).
Asterisco