Получение пути к файлу от дескриптора файла в Windows

Существует , список на clojure.org из различий между Clojure и другим Шепелявит. Некоторые другие вещи я заметил использование Clojure:

  • Идиоматический Clojure склоняется в большой степени к неизменным структурам данных. Где угодно Вы видите SETF в CL, вероятно, придется изменить в Clojure, чтобы в полной мере воспользоваться. (У Вас всегда есть опция использования изменяемых структур данных Java в Clojure, но большинство людей не делает.)

  • мультиметоды Clojure подобны CL (возможно более мощный, потому что можно диспетчеризировать на вещах кроме типа), но полноценный CLOS не доступен в Clojure. Использование Clojure struct вместо этого, который является просто воображением hashmap. Система ООП Java также доступна, конечно. Некоторые люди работают над портированием CLOS к Clojure, но я не уверен, как далеко вдоль тех усилий в этой точке.

  • макросы Clojure работают немного по-другому, чем макросы CL когда дело доходит до разрешения символа/пространства имен. Я не уверен, понимаю ли я достаточно хорошо для объяснения различий. Вы не должны смешивать с gensyms вполне так же в Clojure, хотя, который хорош.

  • Clojure не имеет системы условия как CL. У Вас есть только Java try / catch / finally для обработки исключений.

  • Clojure не позволяет пользовательские макросы читателя.

  • Clojure не имеет нескольких возвращаемых значений. Destructuring в Clojure очень хорош (списки поддержек, векторы, карты хеша, наборы и т.д.), и он встроен в большее количество мест, чем CL по умолчанию, таким образом, это - меньше проблемы, чем это могло быть.

В зависимости от приложения и как это записано, это может быть практично и просто к порту от CL до Clojure, или это может быть более практично для перезаписи его с нуля более функциональным, ориентированным на многопотоковое исполнение способом соответствовать лучше стилю Clojure.

7
задан Wilson F 7 October 2009 в 23:18
поделиться