LINUX.ORG.RU

История изменений

Исправление Nervous, (текущая версия) :

Clojure это не Lisp.

Если что-то плавает, как утка, и крякает, как утка — вероятно, это таки да утка %)

Весь код программы Lisp находится в памяти.

А у кложи где — в астрале?

Гранулярность компиляции одна функция

Одна форма, да. В кложе, насколько мне известно, так и есть.

весь образ программы в памяти сохраняется на диск

Вот тут да, похоже на заметное отличие. Даже АОТ-скомпилированная в байткод кложа вряд ли сможет продолжить выполнение с той же точки, где оно закончилось в прошлый раз. В некоторых случаях может быть полезно, но вообще это палка о двух концах — воспроизводимости можно не ждать с таким подходом. Что я там наэвалил в прошлый раз? Кто знает. Если перекомпилирую полностью с исходников — заработает? Б-г ведает.

Для Lisp нет дебаггеров. Сам Lisp это дебаггер.

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

предлагая варианты перезапуска с этой точки

Да, conditions/restarts в кложе нет — то ли ограничения платформы, то ли нежелание Рича заморачиваться, когда уже есть исключения, которые лучше, чем ничего. (Continuations туда же. И tail call elimination вручную.)

все символы в Lisp доступны всегда в рантайме

Таки да.

В общем и целом похоже на то, что кложа скорее лисп, чем не лисп — гомоиконность, макросы, всё как мы любим. Плюс эффективные неизменяемые структуры данных, человеческое concurrency, беспроблемный интероп с популярной платформой (несколькими платформами) с охреневающим охватом и огромными пользовательскими/девелоперскими сообществами.

Не просто лисп, а лисп с человеческим лицом %)

Исправление Nervous, :

Clojure это не Lisp.

Если что-то плавает, как утка, и крякает, как утка — вероятно, это таки да утка %)

Весь код программы Lisp находится в памяти.

А у кложи где — в астрале?

Гранулярность компиляции одна функция

Одна форма, да. В кложе, насколько мне известно, так и есть.

весь образ программы в памяти сохраняется на диск

Вот тут да, похоже на заметное отличие. Даже АОТ-скомпилированная в байткод кложа вряд ли сможет продолжить выполнение с той же точки, где оно закончилось в прошлый раз. В некоторых случаях может быть полезно, но вообще это палка о двух концах — воспроизводимости можно не ждать с таким подходом. Что я там наэвалил в прошлый раз? Кто знает. Если перекомпилирую полностью с исходников — заработает? Б-г ведает.

Для Lisp нет дебаггеров. Сам Lisp это дебаггер.

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

предлагая варианты перезапуска с этой точки

Да, conditions/restarts в кложе нет — то ли ограничения платформы, то ли нежелание Рича заморачиваться, когда уже есть исключения, которые лучше, чем ничего.

все символы в Lisp доступны всегда в рантайме

Таки да.

В общем и целом похоже на то, что кложа скорее лисп, чем не лисп — гомоиконность, макросы, всё как мы любим. Плюс эффективные неизменяемые структуры данных, человеческое concurrency, беспроблемный интероп с популярной платформой (несколькими платформами) с охреневающим охватом и огромными пользовательскими/девелоперскими сообществами.

Не просто лисп, а лисп с человеческим лицом %)

Исходная версия Nervous, :

Clojure это не Lisp.

Если что-то плавает, как утка, и крякает, как утка — вероятно, это таки да утка %)

Весь код программы Lisp находится в памяти.

А у кложи где — в астрале?

Гранулярность компиляции одна функция

Одна форма, да. В кложе, насколько мне известно, так и есть.

весь образ программы в памяти сохраняется на диск

Вот тут да, похоже на заметное отличие. Даже АОТ-скомпилированная в байткод кложа вряд ли сможет продолжить выполнение с той же точки, где оно закончилось в прошлый раз. В некоторых случаях может быть полезно, но вообще это палка о двух концах — воспроизводимости можно не ждать с таким подходом. Что я там наэвалил в прошлый раз? Кто знает. Если перекомпилирую полностью с исходников — заработает? Б-г ведает.

Для Lisp нет дебаггеров. Сам Lisp это дебаггер.

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

предлагая варианты перезапуска с этой точки

Да, conditions/restarts в кложе нет — то ли ограничения платформы, то ли нежелание Рича заморачиваться, когда уже есть исключения, которые лучше, чем ничего.

все символы в Lisp доступны всегда в рантайме

Таки да.

В общем и целом похоже на то, что кложа скорее лисп, чем не лисп — гомоиконность, макросы, всё как мы любим. Плюс неизменяемые структуры данных, человеческое concurrency, беспроблемный интероп с популярной платформой (несколькими платформами) с охреневающим охватом и огромными пользовательскими/девелоперскими сообществами.

Не просто лисп, а лисп с человеческим лицом %)