So viel wie FP getan hat, am Ende sind alle unsere Programme strukturiert. Das heißt, es spielt keine Rolle, wie rein oder funktional wir sie herstellen - sie werden immer in Baugruppen übersetzt. Was also tatsächlich hinter den Hauben läuft, sind Anweisungen, Zustände und Schleifen. Wir emulieren FP.
Als Hardware-Neuling lautet meine Frage: Warum verwenden wir keine Computerarchitekturen, die tatsächlich Dinge in einem funktionalen Stil berechnen? Beispielsweise könnte ein Computer aus primitiven "funktionalen Chips" wie "concat", "map" und "redu" bestehen, und ein Programm würde dem Computer lediglich mitteilen, wie die Daten zwischen diesen Chips fließen sollen, um das gewünschte Ergebnis zu berechnen , wie in verketteten Sprachen.
Das macht nicht wirklich Sinn, könnte aber veranschaulichen, was ich denke.
if we could make a specialized chip for Filter, for example, it would need just a single clock for a Filter operation.
Nicht wirklich, weil Filter keine "Operation" ist; Es ist eine Funktion höherer Ordnung, die eine beliebige externe Operation auf eine Liste anwendet. Sie können nicht reduzieren , dass auf einen einzigen Taktzyklus.