Вот не пойму.
Вы хотите написать программу, использующую сторонние библиотеки в C, вы пишите
#include <foo.h> // препроцессор вставляет сдесь содержимое foo.h
В пистоне: import foo // Создается неймспейс foo, читается код из foo.py, все переменные/функции запихиваются в этот неймспейс.
В лиспе же вообще нет единой системы. Когда я сидел под дебианом в clisp'е там было что-то типа:
(require 'common-lisp-controller)
(common-lisp-controller:clc-require 'foo)
В sbcl для установки(!!) пакетов (вернее «систем», которые определяются с помощью defsystem) используется asdf-install:
(asdf-install 'foo)
(require 'foo)
Так вот вопрос: почему реализация берет на себя установку пакетов, контроль путей к пакетам итд.? Почему установку не доверить, например, пакетному менеджеру операционной системы?
Почему везде нельзя как в emacs (идеальный вариант):
(setq load-path (append load-path '(#p"/foo/bar" #p"/foo/buz")))
(require 'bar)
(require 'buz)
Или тупо (load «/foo/bar/buz»)?
Вопрос не совсем технический, поэтому в talks