Глава 22 * 1002 * из Практического Common Lisp объясняет (среди прочего), как использовать и ключи, и значения при итерации по хеш-таблице с макросом loop:
loop
(loop for k being the hash-keys in h using (hash-value v) ...)
Объяснение заканчивается следующей сноской:
Не спрашивайте меня, почему авторы LOOP преуспели в стиле без скобок для подпункта using.
LOOP
using
Это прекрасно для книги, и я не виню Питера Сейбела за то, что он этого не знал.Тем не менее, мне несколько любопытно о причинах этого дизайнерского решения.Почему синтаксис не похож на
(loop for k being the hash-keys in h using hash-value v ...)
Проще разобрать?Или за этим стоит какая-то более глубокая причина?