Architektury komputerowe NIE oparte na macierzach [zamknięte]

9

Mówi, że oryginalny artykuł Wadlera o Monadach dla programowania funkcjonalnego (Haskell)

Innym pytaniem o długiej historii jest to, czy pożądane jest oparcie programów na aktualizacji tablicy. Ponieważ włożono tyle wysiłku w opracowanie algorytmów i architektur opartych na tablicach, ominiemy tę debatę i po prostu założymy, że odpowiedź brzmi „tak”.

Nie ma cytatów ani wskazówek do innych możliwych architektur. Słyszałem coś o architekturze dostosowanej do Lisp. Czy ktoś może poprowadzić mnie z wyjaśnieniami i wskazówkami, gdzie / jak mogę zacząć ten temat. Byłbym wdzięczny za krótkie wyjaśnienie innej architektury.

Gwiazdka
źródło
1
Być może możliwe jest dodanie jakiegoś wsparcia sprzętowego, aby drzewa były bardziej wydajne niż obecnie. Szczególnie dotyczy lokalizacji pamięci podręcznej.
CodesInChaos
W pewnym sensie komputer z wieloma rdzeniami jest bardziej odpowiedni dla czystego języka.
PyRulez
@CodesInChaos Wiki ma kikut na maszynie Graph Reduction i link do maszyny SECD na podstawie papieru z 1963 roku. Nie jestem pewien, czy to jest to.
Gwiazdka

Odpowiedzi:

0

Istnieje Maszyna Lisp Symbolics , także Maszyna Lisp


Inna uwaga, która może być również apropos, była niestandardowym sprzętem do programowania przepływu danych. Ten tekst mówi, że koncepcja opracowana w latach 70-tych i niestandardowy sprzęt była realizowana w latach 80-tych.

Erik Eidt
źródło
Listy są tak naprawdę tylko tablicami z dodatkowymi funkcjami.
Robert Harvey
@RobertHarvey Koncepcyjnie bardzo różne. Jedna zapewnia operacje indeksowane, druga sekwencyjna. Tylko jeden jest wymagany, aby wiedzieć o następnej (i poprzedniej), tj. Jestem częścią sekwencji. W rzeczywistości tablica nie musi przechowywać zawartości sekwencyjnie. To tylko wygoda. Tablica musi tylko dostarczyć indeks (ten indeks może być koncepcyjnie dowolny), a ten indeks może być użyty do pobrania i aktualizacji elementu w O (1).
Gwiazdka