LINUX.ORG.RU

История изменений

Исправление quasimoto, (текущая версия) :

(if(= (read) «exit») (exit))

Какие тут матаны могут быть я не пойму?

http://en.wikipedia.org/wiki/Halting_problem

http://en.wikipedia.org/wiki/Rice's_theorem

Не построишь ты денотат по программе за конечное время.

REPL

Давай оставим его в покое.

Вот реальное отличие интерпретации от компиляции

Ну вот почти, идеализируем — одно это чистая функция f : Source -> Target реализуемая алгоритмом который должен работать за конечное время — всякой программе ставить в соответствие одну и ту же программу другого языка, то есть вкидываем текст, принимаем текст; а другое это полноценное выполнение Source без трансляции (компиляции) — с эффектами и т.п., вкидываем текст, получаем работу (и вовсе не обязательно текст и не обязательно за конечное время).

на этом все отличие и кончается

Отличие довольно большое — компилируешь ты что-то или запускаешь на выполнение.

чтобы читать весь файл много ума не надо, пишем цикл, он весь файл читает и пишет в другой на конвейре

Ага, только в реальности всё сложнее — исходники много чего открыты, можешь почитать (вместе с книжками, например).

То есть, компилятор — это вообще тот же самый интерпретатор, только он переписывает в другой ЯП

И так никто не говорит.

Исходная версия quasimoto, :

(if(= (read) «exit») (exit))

Какие тут матаны могут быть я не пойму?

http://en.wikipedia.org/wiki/Halting_problem

http://en.wikipedia.org/wiki/Rice's_theorem

Не построишь ты денотат по программе за конечное время.

REPL

Давай оставим его в покое.

Вот реальное отличие интерпретации от компиляции

Ну вот почти, идеализируем — одно это чистая функция f : Source -> Target реализуемая алгоритмом который должен работать за конечное время — всякой программе ставить в соответствие одну и ту же программу другого языка, то есть вкидываем текст, принимаем текст; а другое это полноценное выполнение Source без трансляции (компиляции) — с эффектами и т.п., вкидываем текст, получаем работу (и вовсе не обязательно текст).

на этом все отличие и кончается

Отличие довольно большое — компилируешь ты что-то или запускаешь на выполнение.

чтобы читать весь файл много ума не надо, пишем цикл, он весь файл читает и пишет в другой на конвейре

Ага, только в реальности всё сложнее — исходники много чего открыты, можешь почитать (вместе с книжками, например).

То есть, компилятор — это вообще тот же самый интерпретатор, только он переписывает в другой ЯП

И так никто не говорит.