# download

Там где “push” там и “down” как “get” с “post”. Но так же как я не нашёл нигде POST так нигде не вижу “down”. Поэтому возник и **download** , а с ним и **load**. [Грузят файлы](https://picolisp.tiddlyhost.com/#download). Последний грузит любые аргументы, имя которых берется как файл. Вообще, в документации отмечается, что в PicoLisp не используются файловые дескрипторы, а при вводе и выводе применяется механизм каналов, которые открываются по умолчанию при стандартном вводе-выводе. Об этом хотелось бы подробнее, но возможно далее в контексте каналов.

Цитата из комментариев к **load** : “Если аргумент является символом, а его первый символ — дефис '-', то этот аргумент анализируется как исполняемый список (без окружающих скобок). Когда “any” — это **T**, все оставшиеся аргументы командной строки загружаются рекурсивно. Когда “any” — это **NIL**, считывается стандартный ввод, выдается приглашение перед каждой операцией чтения, результаты выводятся на стандартный вывод (цикл чтения-вычисления-печати), и загрузка завершается при вводе пустой строки. В любом случае загрузка завершается при достижении конца файла или при считывании **NIL**. Индекс для транзитных (временных) символов очищается до и после загрузки, так что все транзитные символы в файле имеют локальную область действия. Если пространство имен было переключено (с символами) во время выполнения файла, оно восстанавливается до предыдущего.”

Больше нигде в документации ничего такого особенного в отношении этих функций не комментируется. Ну что ж, ещё одна функция с некоторой философской инновацией и перейдем к авторским акцентам.
