Символьные функции

В описаниях JavaScript часто можно встретить метафору - “все есть объект”, а в Lua - “все есть таблица“ … С таким же успехом можно сказать, что “все есть ассоциативный массив”, а в PicoLisp базовым элементом его общей структуры акцентируется “символ“. При этом как концепция он рассматривается как элемент структуры виртуальной машины (на аппаратном уровне) и с позиции программной среды (внутренние символы, внешние и транзитные).
В этом блоге уже использовался термин “символьная функция“ в контексте функции new, естественно, что был вариант акцентировать и сам термин “символ“ и замечу, что в документации не случайно есть статья, названная “символы и пространства имен“ и, более того, есть в продолжение концепции транзитных символов статья о “транзитных пространствах имен“. То есть, с таким же успехом символы могут быть замещены “именами“, словами, лексемами, идентификаторами … и т.д. и т.п. Мне, например, привычнее использовать термин “термин“ или “терм“, как я привык с первой лекции по теории алгоритмов.
Ну а пока возвращаемся к авторским акцентам, в частности, к группе функций (символов?!), классифицируемых как “символьные” - new sym str char name nsp sp? pat? fun? all symbols -symbols private local export import all* intern extern qsym loc box? str? ext touch zap length size format chop pack glue pad align center text wrap pre? sub? low? upp? lowc uppc fold val getd set setq def de dm recur undef redef daemon patch swap xchg on off onOff zero one default expr subr let let? use buf accu push push1 push1q pop ++ shift cut del queue fifo rid enum enum? idx lup cache locale dirname basename
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
Всегда чему-то учусь!