Re: Refal interpreter


Subject: Re: Refal interpreter
From: Sergei Romanenko (roman@integrum.ru)
Date: Sun Jan 23 2005 - 00:59:06 MSK


Доброе <время суток>!

----- Original Message -----
From: "Leonid Belous" <belous@ilt.kharkov.ua>

> Правильно ли я понял, что встроенные арифметические функции
> в Вашей реализации (add,sub,mul,div,div,mod)пока не расчитаны
> на произвольноразрядную целую арифметику?

> Однако, имеющиеся на сегодня диалекты (Рефал-2, Рефал-5,
> Рефал-6, Рефал-Плюс) все-таки более или менее устоялись. Мне
> кажется, что если бы Вы строго придерживались синтаксиса Рефала-2
> (который Вы слегка начали варьировать), то потенциальных
> пользователей Вашей версии будет больше.

Целочисленная арифметика с произвольной разрядностью, как она была сделана в
Рефале-2 - это, конечно, пример вряд ли достойный подражания.

Во-первых, представление в виде последовательности "макроцифр" - "рыхлое" и
неэкономное в смысле расхода памяти. Во-вторых, оно вряд ли удобно для тех,
кто занимается компьютерной алгеброй. В Рефале Плюс это было исправлено, и
целые числа представлялись в виде одиночных символов.

В случае Рефала-2, однако, максимально допустимый размер "макроцифр" не
является свойством самого языка, а является свойством реализации. Например,
в случае БЭСМ-6 и ЕС ЭВМ разрядность макроцифр была разная. Поэтому,
какие-то реализации Рефала-2 вполне могут иметь макроцифры неограниченной
разрядности. И при этом старые программы будут работать! Правда тогда все
равно остается такая пакость, как знак числа, представленный отдельным
символом.

Если обеспечивать "обратную совместимость", то аргументы арифметических
операций должны все равно разделяться скобками, но можно сделать так, чтобы
они были необязательны.

Но, вообще-то, у меня нет твердого мнения по этому вопросу. Все определяется
наличием пользователей, которые хотели бы перенести старые программы на
новую реализацию. Если таковые есть, то есть и смысл поддерживать "обратную
совместимость". А если таковых нет, то тогда нет и проблемы. Как говорил
один политик: "Есть человек - есть проблема, нет человека - нет проблемы..."
:-)

Сергей Романенко



This archive was generated by hypermail 2b25 : Sun Jan 23 2005 - 00:58:23 MSK