Symbol

Как хочется начать текст с “А на шестой день от сотворения мира …“. +Symbol, sym, sym?, symbols, -symbols, DatSym, qsym. Символы в PicoLisp могут быть внутренними и внешними (элементами базы данных), а так же транзитными (переходными), как, например, сериализованная строка. То есть три вида символов, но главное свойство символа, это наличие у него, свойств.

Цитата из документации: “Символ в PicoLisp состоит из трех — возможно, пустых — компонентов: значения, списка свойств и имени. Из них обычно только значение и свойства изменяются во время программирования. Значение — это не более чем специальное свойство, используемое неявно для важных целей, таких как привязка переменных или определение функций.

То есть, символ, как точечная пара или система пар, как параметр или переменная, как объект или функция, фрейм, таблица, маленькая база данных, часть ассоциативного массива и так далее … Платформа позиционируется, прежде всего как виртуальная машина со специфичной архитектурой, а её синтаксический интерфейс уже конструируется поверх неё. И здесь есть вариации для интерпретации. Когда мы видим списки и скобки, то у нас аналогия и возникает стереотип с Лисп. Но с таким же успехом мы можем говорить об объектном характере системы, где функции, как в том же JavaScript или Lua - просто специальные объекты. Мы можем говорить о символах как о словах Forth или Rebol, а так же интерпретировать интерфейс системы в рамках модели акторов, где есть объекты-интерпретаторы, а есть месседжи и все это, поскольку нет разницы между кодом и данными, выражается S-выражениями. То есть, абсолютно корректно, можно было бы сказать, что в системе нет типов данных, а есть центральная концепция символа (как пара-клетка в описании виртуальной машины) и его спецификации, ну и, естественно, могут быть серии символов или списки, которые могут иметь в качестве своих элементов те же серии или списки для описания иерархий и сетей, а не только последовательностей.

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