Являются ли сами файлы исходного кода Lisp списками?

Независимо от диалекта Лиспа, похоже, что каждый файл исходного кода, содержащий функции Лиспа, сам по себе не является списком (впервые я был "удивлен" этим, когда работал над своим Emacs ] .elфайлы).

У меня есть несколько вопросов, но все они связаны с одной и той же «проблемой», и, возможно, я просто неправильно понял несколько вещей.

Есть ли причина, по которой файлы исходного кода для различных диалектов Лиспа кажутся набором «неорганизованных» функций, подобных этой:

(function1 ...)
(function2 ...)
(function3 ...)

Вместо «списка функций Лиспа» может быть что-то вроде этого:

(
  '(function1 ...)
  '(function2 ...)
  '(function3 ...)
)

Я немного удивлен всем этим "код — это данные, данные — это код" что сами файлы с исходным кодом, по-видимому, не являются аккуратными списками... Или они!?

Вы должны «манипулировать» файлами исходного кода или нет?

Что, если бы я хотел, скажем, преобразовать один из моих исходных файлов .clj(Clojure) в какую-нибудь веб-страницу CSS+HTML, не является ли «проблемой» то, что файл исходного кода явно не сам по себе список?

Я начинаю с Лиспа, поэтому не знаю, имеет ли смысл мой вопрос, и буду рад любым объяснениям.

9
задан Cedric Martin 9 May 2012 в 16:47
поделиться