Как делают различные реализации CL ANSI отличаются?

В настоящее время ни один из методов Сципи не позволяет применять динамические границы. Вы можете сделать нестандартное расширение для scipy.optimize.minimize или fsolve или реализовать свой собственный оптимизатор с динамическими границами.

Теперь о том, стоит ли делать это: быть ортогонально независимым. Если границы изменяются в зависимости от других проектных переменных, то проблема не является ортогонально независимой.

29
задан Ken 18 January 2012 в 02:44
поделиться

7 ответов

Существуют части CL ANSI, которые оставляют определенные детали до реализаций для определения; Вы найдете, что для тех частей стандарта, каждая реализация будет иметь свои собственные причуды.

кроме того, ищите вещи, которые важны для времени выполнения, но не определенные на языке: вещи как поточная обработка и многопроцессорная и сборка "мусора" будут варьироваться существенно по производительности и надежности.

я нашел, что SBCL самая легкая реализация для работы с в Linux; это имеет хорошую поддержку поточной обработки в Linux. Я не могу сказать многое о сборщике "мусора", потому что он очень еще не имел значения для меня.

В Windows, Вашим лучшим выбором, вероятно, будет Allegro или LispWorks, хотя я имел некоторый успех с clisp в Windows. Порт Windows SBCL прогрессирует, но я не использовал его очень, таким образом, я не могу действительно прокомментировать.

Вообще говоря, понимание этих видов вещей, которые трудно получить посредством исследования или анализа; это проникает через опыт. Просто выберите достойную реализацию, что Вы довольны и взялись за работу. Вы выясните хитрый материал, когда Вы идете.

12
ответ дан 28 November 2019 в 00:55
поделиться
31
ответ дан 28 November 2019 в 00:55
поделиться

Если Вы находитесь на машине, которая может выполнить SBCL, необходимо использовать его. Это - самый быстрый бесплатный компилятор Lisp (это может сгенерировать код, который является с такой скоростью, как Haskell, OCaml, Java, C, и C++, которые все очень очень быстры, особенно по сравнению с Python и Ruby). Это также - довольно полноценное внедрение и поддерживает большинство функций Чванства (для СЛИЗИ), который хорош, когда Вы разрабатываете.

Как часть другого упоминания комментариев, Вы действительно не заметите различий, когда Вы сначала начнете. Все бесплатные реализации CL "достаточно быстры" и поддерживают все функции, в которых Вы будете нуждаться. Но если Вы начнете писать производственное программное обеспечение, то Вы будете ценить функции SBCL. OTOH, нет действительно никакой причины не переключиться теперь.

15
ответ дан 28 November 2019 в 00:55
поделиться

Я не знаю достаточно, чтобы дать Вам подробный ответ, но я заметил, что SBCL был значительно быстрее затем Clisp, когда я работал с CL для своего класса AI. Если у Вас нет неопровержимого довода не к, я предложил бы идти с SBCL.

я услышал, что Clisp легче установить и является более портативным, чем SBCL (который имеет большую определенную для процессора оптимизацию), но если Вы используете Linux, их оба достаточно легко выбрать от диспетчера пакетов.

3
ответ дан 28 November 2019 в 00:55
поделиться

Я обнаружил, что сообщения об ошибках в clisp более дружелюбны и помогают быстрее найти проблему.

3
ответ дан 28 November 2019 в 00:55
поделиться

Зависит от Вашей предпочтительной ОС

  • , Windows - использует ecl, или abcl
  • Linux - используют sbcl или ecl или abcl или cmucl
  • Mac - ccl или ecl или sbcl
  • Другой - abcl или РЕДАКТИРОВАНИЕ sbcl

или ecl:

Sbcl на окнах испытывает недостаток в поточной обработке и, в целом не настолько стабилен, и ни один из базовых специалистов по обслуживанию не использует окна.

ecl является намного лучшим выбором для кросс-платформенного, шепелявит, его набор функций одинаково стабилен на всех основных платформах.

РЕДАКТИРОВАНИЕ 2011-10: окна Sbcl теперь имеют поддержку поточной обработки. Это полностью еще не объединяется в mainiline, но существует ветвление, которое довольно стабильно, которые имеют поточную обработку и другой Windows определенные положительные герои.

1
ответ дан 28 November 2019 в 00:55
поделиться

Мне очень повезло с установкой clisp с помощью cygwin , если вы находитесь под Windows.

1
ответ дан 28 November 2019 в 00:55
поделиться