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 .