Mazdaywik / Refal-05

Очень минималистичный компилятор Рефала
https://mazdaywik.github.io/Refal-05/
Other
3 stars 2 forks source link

Почистить библиотеку встроенных функций #21

Closed Mazdaywik closed 5 years ago

Mazdaywik commented 5 years ago

Эта задача — подзадача для #1, связана с задачей #12.

Предлагается сделать две вещи:

Удалить нереализованные функции

Обоснование. Если программировать на общем подмножестве, то следует использовать только реализованные функции, записи об остальных нейтральны — их удаление на возможность программирования на общем подмножестве не повлияет. Если программировать на Рефале-05, то такие записи дают ложное ожидание — компилируется программа, которая будет падать при вызове нереализованной функции. К тому же их всё равно нельзя использовать (только как идентификатор).

Поэтому из соображений минимализма от них следует отказаться.

Рассмотреть удаление неиспользуемых функций

Именно рассмотреть. В компиляторе, например, не используется функция Card, поскольку программа не интерактивная. Но Рефал без чтения перфокарт — не Рефал, нельзя так.

В то время как функции Upper и Lower (#20) нигде не вызываются и избыточны как встроенные (для латинских букв их можно описать на Рефале, но менее эффективно). Поэтому их можно удалить.


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

Mazdaywik commented 5 years ago

Удалены все неиспользуемые функции, кроме Card. Потому что в чтении перфокарт вся суть Рефала.