Architectures informatiques NON basées sur des tableaux [fermé]


9

L'article original de Wadler sur les Monades pour la programmation fonctionnelle (Haskell), dit-il

Une autre question avec une longue histoire est de savoir s'il est souhaitable de baser les programmes sur la mise à jour des baies. Étant donné que tant d'efforts ont été consacrés au développement d'algorithmes et d'architectures basés sur des tableaux, nous allons contourner ce débat et supposer simplement que la réponse est oui.

Il n'y a aucune citation ou allusion à d'autres architectures possibles. J'ai entendu parler d'une architecture adaptée à Lisp. Quelqu'un peut-il me guider avec des explications et des conseils sur où / comment je peux commencer sur ce sujet. J'apprécierais beaucoup que vous puissiez expliquer brièvement les différentes architectures.


1
Il est peut-être possible d'ajouter une sorte de support matériel pour rendre les arbres plus efficaces qu'ils ne le sont actuellement. Surtout concernant la localité du cache.
CodesInChaos

Dans un certain sens, un ordinateur avec plusieurs cœurs est plus adapté à un langage pur.
PyRulez

@CodesInChaos Le wiki a un moignon sur la machine de réduction graphique et un lien vers la machine SECD basé sur un papier de 1963. Je ne sais pas si c'est ça.
Asterisk

Réponses:


0

Il y a la Symbolics Lisp Machine , aussi Lisp Machine


Sur une autre note, qui pourrait également être appropriée, il existait auparavant du matériel personnalisé pour la programmation du flux de données. Ce texte dit que le concept développé dans les années 70 et le matériel personnalisé ont été poursuivis dans les années 80.


Les listes ne sont vraiment que des tableaux avec des fonctionnalités supplémentaires.
Robert Harvey

@RobertHarvey Conceptuellement très différent. L'une fournit des opérations indexées, l'autre séquentielle. Un seul est requis pour connaître la prochaine (et la précédente), c'est-à-dire que je fais partie d'une séquence. En fait, un tableau n'a pas besoin de stocker le contenu séquentiellement. C'est juste une commodité. Un tableau doit simplement fournir un index (cet index peut être n'importe quoi conceptuellement) et cet index peut être utilisé pour récupérer et mettre à jour l'élément dans O (1).
Asterisk
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.