Directory

Sergey ShishkinSergey Shishkin
2 min read

dir - возвращает список всех имен файлов в каталоге any. Имена, начинающиеся с точки '.', игнорируются, если flg не является не-NIL

dirname - возвращает часть каталога имени пути any.

chdir - изменяет текущий каталог на any с помощью cd во время выполнения prg. Затем предыдущий каталог будет восстановлен, а результат prg возвращен.

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

В документации PicoLisp явно не акцентируется POSIX, но где-то в общем контексте автор указывает на эту конвенцию, как принцип. А тогда стоило ожидать, что концепции каталога, как специфицированном файле, будет уделено особое внимание, поскольку “файл“ - центральная идея этой конвенции. Здесь интересный момент в эксперименте с PilOS, где говорится о том, что “файлы и каталоги реализованы в базе данных PicoLisp. Каждый файл является объектом DB, а каталоги эмулируются с помощью B-деревьев базы данных. Такие команды, как 'pwd', 'cd' или 'dir', являются простыми функциями Lisp.” Действительно, чем файловая система, не хранилище данных, а каталоги, не списки … Простая идея, отражающая реальную практику, но почему-то, в должной степени, не концептуализирована, хотя это тот самый случай, где уместна философия.

P.S. Пользуясь случаем, хотелось бы процитировать и про inode POSIX по приведенной выше ссылке: “Метаданные инода также предоставляют информацию для поиска начальных блоков данных, принадлежащих файлу … каждый инод является записью таблицы инодов: поскольку размер каждой записи фиксирован, таблица инодов предварительно выделяется во время форматирования . Это означает, что после форматирования файловой системы таблица инодов форматируется для хранения заданного количества записей, также известных как иноды . Фактически это верхний предел объектов, которые вы можете создать в файловой системе POSIX, будь то файлы или каталоги.“ … И опять вопросы, связанные с лексикой … в PicoLisp есть функции или символы их обозначающие, такие как path или port … (чем не dir или file …) … Короче, на смотря на аккуратную стандартную документацию, она не соответствует уникальности системы и не следует своему же принципу её “ортогональности”.

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

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