any ... +Any

Sergey ShishkinSergey Shishkin
1 min read

Лексема, которая больше всех создает ментальную нагрузку при вычислении контекста, из тех, которые не только обозначают структуры и процедуры, но и активно используется в метаязыке в описании, естественно, подразумевая “любой“ элемент системы, так называемые “производные типы данных“. По сути, квантор всеобщности в логике предикатов, отчего, возможно, эти дополнительные трудности в распознавании концепции.

+Any - класс для неопределенных отношений, подкласс +relation. Объекты этого класса принимают и поддерживают любой тип данных Lisp. Часто используется, когда нет другого подходящего класса отношений. См. также Database. В следующем примере +Any используется просто по той причине, что нет прямого способа указать точечную пару:

(rel loc (+Any))  # Locale, e.g. ("DE" . "de")

any - анализирует any из аргумента. Это обратная операция sym. См. также str, (any 'sym) эквивалентно (car (str 'sym)).

(any 'any) -> any

: (any "(a b # Comment\nc d)")
-> (a b c d)
: (any "\"A String\"")
-> "A String"

https://picolisp.tiddlyhost.com/#any

0
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

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