Size: a a a

Clojure — русскоговорящее сообщество

2020 February 01

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Вот тут абзац ясно говорит что формы.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
просто у меня вначале тоже складывалось (из контекста) впечатление, что форма это именно s-exp
потом читаешь доку, и получается непонятное
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
Ну терминология это тоже важно, конечно. Но в разрезе понимания форма - это атом или список. Атом это не список.
На самом деле кажется в контексте кложуры не совсем. Параметры в функцию ведь вектором передаются
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Мы понимаем, что это атом все эти перечисления, а остальные перечисления это списки. Но если хочется жуткой конкретики, то можно читать доку и не выдумывать ничего.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Mikhail Borisov
На самом деле кажется в контексте кложуры не совсем. Параметры в функцию ведь вектором передаются
И что? Параметры - это тоже форма. Потому что вектор это форма.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
А вот сам defn это специальная форма.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
И эвалюатором он обрабатывается особым образом.
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Mikhail Borisov
Я имею в виду:

form = list<form> | value
Ну да, я о том, что вот такое не совсем верно)
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Mikhail Borisov
Ну да, я о том, что вот такое не совсем верно)
Ну тут это определено как-то друг через друга. Список через форму и форма через список.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Так что да, не совсем верно.
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Ну то есть они говорят, форма это то, чем представлен код программы после чтения reader-ом
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
В коде программы, видимо, векторы, мапы и пр
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Форма это то, что читает ридер за раз.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
А вот сам defn это специальная форма.
только символ 'defn как первый элемент в списке 😊
(xxx defn) — вот тут он форма, но не специальная 😊
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
А не только листы и атомы
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
defn специальная форма не как отдельный символ, а да, список, который начинается с defn.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Mikhail Borisov
А не только листы и атомы
Ну по сути только листы и атомы. И тут все уже кинули на доку кложи с ридером.
источник

AK

Azamat Kalimoulline in Clojure — русскоговорящее сообщество
Где это ясно видно.
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Azamat Kalimoulline
defn специальная форма не как отдельный символ, а да, список, который начинается с defn.
Вот я в таком смысле обычно понимал special form)
источник