(no subject)
Nov. 23rd, 2005 04:46 pmЯ знаю, почему меня с детства так привлекает программирование. Потому что это алхимия, а иногда и чистая магия. Благородное ремесло, в любом случае. И как там еще это называлось у Фулканелли? высокое искусство?
Следующий абзац нужно переписать языком сэра Томаса Брауна, по меньшей мере; в русском языке ему, должно быть, соответствует язык Ломоносова (?), но без специальных упражнений не рискну.
"Сие процедурие зачищать ленту махины Тюринга должно, после того, как оной махины пишечитательная головка с ленты все символы, нужные для образования символа более высокого порядка, собрала. Стеком исторически вот уже два месяца называется та часть ленты, что слева от головки; та, что справа, называется листом или инпутом. Процедурие получает в аргументах ссылки на стек и лист, а также хэш со списком использованных символов, в котором типу символа сопоставлены сам символ и индекс его на ленте -- положительный для листа и отрицательный для стека, каковой есть такой же лист, только рассматриваемый с конца."
И вот собственно алхимия:
Может быть, все-таки я давно уже пишу на LISPе, сам того не подозревая?
Следующий абзац нужно переписать языком сэра Томаса Брауна, по меньшей мере; в русском языке ему, должно быть, соответствует язык Ломоносова (?), но без специальных упражнений не рискну.
"Сие процедурие зачищать ленту махины Тюринга должно, после того, как оной махины пишечитательная головка с ленты все символы, нужные для образования символа более высокого порядка, собрала. Стеком исторически вот уже два месяца называется та часть ленты, что слева от головки; та, что справа, называется листом или инпутом. Процедурие получает в аргументах ссылки на стек и лист, а также хэш со списком использованных символов, в котором типу символа сопоставлены сам символ и индекс его на ленте -- положительный для листа и отрицательный для стека, каковой есть такой же лист, только рассматриваемый с конца."
И вот собственно алхимия:
sub clear_tape { my ($stack, $list, $hash) = @_; map(splice(@{(($_ < 0) ? $stack : $list)}, $_, 1), sort({abs($b) <=> abs($a)} grep(defined($_), map({$_->{index}} values(%$hash))))); }
Может быть, все-таки я давно уже пишу на LISPе, сам того не подозревая?