Arsitektur Komputer TIDAK berdasarkan pada array [ditutup]

9

Makalah asli Wadler tentang Monads for Functional Programming (Haskell), katanya

Pertanyaan lain dengan sejarah panjang adalah apakah diinginkan untuk mendasarkan program pada pembaruan array. Karena begitu banyak upaya telah dilakukan untuk mengembangkan algoritma dan arsitektur berdasarkan array, kami akan menghindari perdebatan ini dan hanya menganggap jawabannya adalah ya.

Tidak ada kutipan atau petunjuk untuk arsitektur lain yang mungkin. Saya telah mendengar sesuatu tentang arsitektur yang cocok untuk Lisp. Adakah yang bisa membimbing saya dengan beberapa penjelasan dan panduan tentang di mana / bagaimana saya bisa memulai topik ini? Saya akan sangat menghargai Anda dapat menjelaskan arsitektur yang berbeda secara singkat.

Asterisk
sumber
1
Mungkin mungkin menambahkan semacam dukungan perangkat keras untuk membuat pohon lebih efisien daripada sekarang. Terutama mengenai lokalitas cache.
CodesInChaos
Dalam arti tertentu, komputer dengan banyak inti lebih cocok untuk bahasa murni.
PyRulez
@CodesInChaos Wiki memiliki tunggul pada mesin Graph Reduction dan tautan ke mesin SECD berdasarkan pada kertas 1963. Tidak yakin apakah itu masalahnya.
Asterisk

Jawaban:

0

Ada Mesin Lisp Simbolik , juga Mesin Lisp


Pada catatan lain, itu mungkin juga apropos, dulu ada perangkat keras khusus untuk pemrograman aliran data. Teks ini mengatakan bahwa konsep yang dikembangkan pada tahun 70-an dan perangkat keras khusus dikejar hingga tahun 80-an.

Erik Eidt
sumber
Daftar benar-benar hanya array dengan fitur tambahan.
Robert Harvey
@RobertHarvey Secara konseptual sangat berbeda. Satu menyediakan operasi yang diindeks, yang lainnya berurutan. Hanya satu yang harus mengetahui berikutnya (dan sebelumnya) yaitu saya bagian dari suatu urutan. Sebenarnya sebuah array tidak perlu menyimpan konten secara berurutan. Ini hanya kenyamanan. Array hanya perlu memberikan indeks (indeks ini bisa secara konseptual apa saja) dan indeks itu dapat digunakan untuk mengambil dan memperbarui elemen dalam O (1).
Asterisk