Эта задача — подзадача для #1, связана с задачей #12.
Предлагается сделать две вещи:
Удалить нереализованные функции (их объявления как $EENUM и строки в ListOfBuiltin).
Рассмотреть удаление функций, не используемых в самом компиляторе.
Удалить нереализованные функции
Обоснование. Если программировать на общем подмножестве, то следует использовать только реализованные функции, записи об остальных нейтральны — их удаление на возможность программирования на общем подмножестве не повлияет. Если программировать на Рефале-05, то такие записи дают ложное ожидание — компилируется программа, которая будет падать при вызове нереализованной функции. К тому же их всё равно нельзя использовать (только как идентификатор).
Поэтому из соображений минимализма от них следует отказаться.
Рассмотреть удаление неиспользуемых функций
Именно рассмотреть. В компиляторе, например, не используется функция Card, поскольку программа не интерактивная. Но Рефал без чтения перфокарт — не Рефал, нельзя так.
В то время как функции Upper и Lower (#20) нигде не вызываются и избыточны как встроенные (для латинских букв их можно описать на Рефале, но менее эффективно). Поэтому их можно удалить.
При закрытии задачи нужно дать обоснование сохранения неиспользуемых функций.
Эта задача — подзадача для #1, связана с задачей #12.
Предлагается сделать две вещи:
$EENUM
и строки вListOfBuiltin
).Удалить нереализованные функции
Обоснование. Если программировать на общем подмножестве, то следует использовать только реализованные функции, записи об остальных нейтральны — их удаление на возможность программирования на общем подмножестве не повлияет. Если программировать на Рефале-05, то такие записи дают ложное ожидание — компилируется программа, которая будет падать при вызове нереализованной функции. К тому же их всё равно нельзя использовать (только как идентификатор).
Поэтому из соображений минимализма от них следует отказаться.
Рассмотреть удаление неиспользуемых функций
Именно рассмотреть. В компиляторе, например, не используется функция
Card
, поскольку программа не интерактивная. Но Рефал без чтения перфокарт — не Рефал, нельзя так.В то время как функции
Upper
иLower
(#20) нигде не вызываются и избыточны как встроенные (для латинских букв их можно описать на Рефале, но менее эффективно). Поэтому их можно удалить.При закрытии задачи нужно дать обоснование сохранения неиспользуемых функций.