Независимо от диалекта Лиспа, похоже, что каждый файл исходного кода, содержащий функции Лиспа, сам по себе не является списком (впервые я был "удивлен" этим, когда работал над своим Emacs ] .elфайлы).
У меня есть несколько вопросов, но все они связаны с одной и той же «проблемой», и, возможно, я просто неправильно понял несколько вещей.
Есть ли причина, по которой файлы исходного кода для различных диалектов Лиспа кажутся набором «неорганизованных» функций, подобных этой:
(function1 ...)
(function2 ...)
(function3 ...)
Вместо «списка функций Лиспа» может быть что-то вроде этого:
(
'(function1 ...)
'(function2 ...)
'(function3 ...)
)
Я немного удивлен всем этим "код — это данные, данные — это код" что сами файлы с исходным кодом, по-видимому, не являются аккуратными списками... Или они!?
Вы должны «манипулировать» файлами исходного кода или нет?
Что, если бы я хотел, скажем, преобразовать один из моих исходных файлов .clj(Clojure) в какую-нибудь веб-страницу CSS+HTML, не является ли «проблемой» то, что файл исходного кода явно не сам по себе список?
Я начинаю с Лиспа, поэтому не знаю, имеет ли смысл мой вопрос, и буду рад любым объяснениям.