Tak jak papka, jak FP, w końcu wszystkie nasze programy mają strukturę. Oznacza to, że nie ma znaczenia, jak czyste lub funkcjonalne je wykonujemy - zawsze są tłumaczone na asembler, więc to, co faktycznie działa za maskami, to instrukcje, stany i pętle. Naśladujemy FP.
Jako noob sprzętowy moje pytanie brzmi: dlaczego nie używamy architektur komputerowych, które faktycznie obliczały rzeczy w funkcjonalnym stylu? Na przykład komputer może składać się z prymitywnych „funkcjonalnych układów”, takich jak „konkat”, „mapa” i „redukcja”, a program po prostu mówi komputerowi, jak przepływać dane między tymi układami, aby obliczyć pożądany wynik , na przykład w językach konkatenatywnych.
To naprawdę nie ma sensu, ale może zilustrować to, co myślę.
if we could make a specialized chip for Filter, for example, it would need just a single clock for a Filter operation.
Nie bardzo, ponieważ Filtr nie jest „operacją”; jest to funkcja wyższego rzędu, która stosuje dowolną zewnętrzną operację do listy. Nie można ograniczyć , że do jednego cyklu zegara.