as ... soc ... sert и asoq

as - возвращает any2
неоцененным, когда any1
оценивается как не NIL
. В противном случае возвращается NIL
. (as Flg A B C)
эквивалентно (and Flg '(A B C))
. Используется в макросах чтения для условного исключения подвыражений. Своего рода quote.
(as 'any1 . any2) -> any2 | NIL
https://picolisp.tiddlyhost.com/#as
Поскольку в этом контексте определенный лексический анализ, то ещё символы, использующие “as” как префикс.
assoc - выполняет поиск в списке ассоциаций. Возвращает первый элемент из lst
с any
в качестве его CAR или NIL
, если совпадений не найдено. \== используется для сравнения (равенство указателей).
(assoc 'any 'lst) -> lst
rassoc - обратный assoc. Возвращает первый элемент из lst
с его CDR, равным any, или NIL
, если совпадений не найдено.
Ну и рядом то, что сбивает с толку. По крайней мере в процессе изучения системы. Поэтому акцент уместен, хотя связь больше фонетическая, чем даже синтаксическая, а тем более, семантическая, хотя, с точки зрения функциональности, как раз, функции, которые они обозначают, связаны!. Случайно? Вероятно, аббревиатура от “ассоциации” и “квеста”. В обоих случаях выше, “asso” - скорее всего, тоже от “ассоциации”, но “о” можно интерпретировать и как “объект”.
asoq - выполняет поиск в списке ассоциаций. Возвращает первый элемент из lst
с его CAR, равным any
, или NIL
, если совпадений не найдено.
https://picolisp.tiddlyhost.com/#assoc
И набор с лексемой “sert” (можно акцентировать отдельно, с учетом наличия функции insert - вставляет что-нибуь в список на указанную позицию) - assert , asserta , asserta/1 , assertz и assertz/1 .
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!