Насколько далеки от императива могут быть языковые реализации, когда компилятор / интерпретатор излучает на металл?

Я не хотел спрашивать это как «ответ» на Вопрос Кто-то опередил меня на 2 года, поэтому я задал новый вопрос. Как явствует из ответа там (см. Н. Рэмси, где он пишет:

«... Однако, если вы посмотрите на новаторскую работу профессора Арвинда из Массачусетского технологического института, его группа спроектировала и построила машины с потоками данных, в которых фундаментальные вычислительные операции носят более декларативный характер ...»

что, возможно, «голые» инструкции могут быть декларативными или не обязательными по иным причинам.

Кто-нибудь знает, как далеко можно зайти в этом направлении? Должны ли компиляторы всегда преобразовывать функциональный язык в императивный язык? Существует ли оборудование, позволяющее это сделать?

Просто любопытно - прогу всегда смотрю. lang. тенденции, и, наконец, мне пришло в голову задуматься, что на самом деле означает отсутствие изменяемого состояния (например).


comment
Похоже на хорошее, подходящее чтение: csd.ijs.si/courses/dataflow/index. htm   -  person klausnrooster    schedule 17.01.2012
comment
Вопрос в названии сильно отличается от вопроса, который вы задаете. Который из них?   -  person    schedule 17.01.2012
comment
delnan, надеюсь, что редактирование помогло. Будь у меня EE или CS edu, было бы понятнее.   -  person klausnrooster    schedule 18.01.2012
comment
Теоретическая информатика могла бы быть лучшим форумом для ответа на этот вопрос.   -  person Aleks G    schedule 18.01.2012
comment
Возможно, его следует спросить на cstheory.stackexchange.com или programmers.stackexchange.com?   -  person Mchl    schedule 18.01.2012


Ответы (1)


Необязательное оборудование существует и используется для специализированных приложений. Программируемые пользователем вентильные матрицы (FPGA) являются хорошим примером.

Однако модель машины фон Неймана (лежащая в основе нашей текущей процессорной архитектуры) оказалась чрезвычайно полезной и универсальной, и было потрачено много усилий на то, чтобы сделать необходимые процессоры быстрыми и дешевыми. Хотя можно исследовать не императивные компьютерные концепции, кажется, что в настоящее время это не стоит усилий - создание декларативной машины в качестве интерпретатора поверх императивной машины намного дешевле и быстрее, чем настоящая декларативная машина.

person thiton    schedule 18.01.2012