Определение без значения не ошибается - PullRequest
0 голосов
/ 28 октября 2018

Это говорит Схеме, что x означает 3:

(define x 3)  ; (define <id> <value>)

Все хорошо.Но сегодня я неправильно набрал определение:

(define y)  ; (define <id>)

К моему удивлению, ошибки нет!Позже я попробовал это якобы ошибочное определение в другой реализации Схемы (Схема MIT), чтобы убедиться, что все правильно.На схеме MIT (define y) представляется также действительным.

Вопросы:

  1. Допустимо ли определять что-либо без значения?т.е. является ли специальная форма (define <id>) обязательной для каких-либо стандартов Схемы?

  2. Какая польза от определения чего-либо без предоставления значения?

1 Ответ

0 голосов
/ 30 октября 2018

Форма, которую вы описываете, присутствует в R6RS .Вот что говорится в отчете:

"Вторая форма define эквивалентна

(define <variable> <unspecified>)

, где <unspecified> - это выражение без побочных эффектов, возвращающеенеопределенное значение. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...