Q: Когда, если вообще, полезно ли ставить острые кавычки lambda
, и когда, если вообще, мы не должны резкие кавычки lambda
?
Люди используют lambda
s тремя способами:
- равнина:
(lambda (x) x)
- цитировал:
'(lambda (x) x)
- резкое цитируемое:
#'(lambda (x) x)
Этот поток SO обсуждает три типа, этот поток SO объясняет, почему не заключать в кавычки (примечание: не резкие кавычки ) lambda
, и этот поток SO также обсуждает различия между цитированием и точными кавычками.
Теперь ручной узел по анонимным функциям и строка документации для lambda
примечания, что lambda
s являются самоквитируемыми:
Звонок формы
(lambda ARGS DOCSTRING INTERACTIVE BODY)
- это само цитирование; Результатом вычисления лямбда-выражения является само выражение. Лямбда-выражение затем может рассматриваться как функция ...
Итак, кажется, что (lambda (x) x)
и #'(lambda (x) x)
эквивалентны, но '(lambda (x) x)
это не так (главное, при байтовой компиляции).
Похоже , что один редко хотите процитироватьlambda
, но непонятно мне , когда, если когда - либо, мы должны или не должны, с острыми цитирую:
- Острые цитаты - это
lambda
просто стилистический выбор, или есть обстоятельства, при которых резкие цитаты действительно полезны? - Существуют ли обстоятельства, при которых мы не должны ставить точные кавычки
lambda
, то есть когда это меняет смысл кода?