namespaces

В PicoLisp реализована концепция пространства имен. Во-первых, естественно, чтобы избежать потенциального конфликта имен при создании, например транзитивных символов, по умолчанию создается временное пространство имен, Здесь сам автор PicoLisp отвечате на вопрос, как устроены пространства имен. Очевидно, что при создании новых символов, создаются и новые контексты, лексические области видимости, но можно именовать пространства имен и в системе есть средства, работая в одном пространстве имен, обращаться к символам из другого. Можно менять порядок поиска символов, начиная с глобального пространства имен “pico“. Особенно это полезно при распределенных базах данных. Более того, у нас есть возможность устанавливать на один компьютер сколько угодно интерпретаторов локально помимо “глобальной” установки. По сути, определяя пользовательское пространство имен для пользовательских функций, определеятся что-то типа библиотек или модулей.

Прежде чем открыть файлы базы данных, нужно задать пространство имен . Пространство имен сообщает интерпретатору, где искать символы. Синтаксис соответствует "четвертой форме" функции symbols.

Тема тесно связана с предыдущей темой символов и, ественно бы было, в этом контексте перечислить здесь все полезные функции, но на текущий момент реализуется другая классификация, исходя чисто из лексических принципов. Итак, на сегодня четыре функции для исследования - name, namespaces, dirname, basename.