LINUX.ORG.RU

LispWorks 6.0.1 Personal Edition

 , , ,


0

2

Интегрированная среда разработки для языка программирования Common Lisp под названием LispWorks версии 6.0.1 стала доступна совершенно бесплатно без каких-либо платежей в редакции Personal Edition.

LispWorks Personal Edition предлагает следующие возможности для своих пользователей:

  • поддержка симметричной мультипроцессорности (SMP);
  • поддержка GTK+;
  • поддержка платформы Solaris для архитектур x86 и x86_64;
  • интеграция ASDF прямо в IDE;
  • профилирование многопоточных приложений;
  • изменяемые и редактируемые нативные тулбары;
  • улучшенная документация и дополнительные новые примеры;
  • множество других общих улучшений и улучшений в CAPI;
  • множество исправлений ошибок и недочётов.

Более полный перечень и описание новых возможностей в данной версии. Не все возможности среды разработки доступны для всех платформ. Ознакомиться со списком возможностей под каждую платформу можно здесь.

>>> Скачать персональную редакцию LispWorks

★★★

Проверено: svu ()
Последнее исправление: resurtm (всего исправлений: 1)
Ответ на: комментарий от den73

Вижу вы в теме :)

А какие ограничения накладываются в Personal edition на компилятор самой lispworks? Опенсорц клепать можно?

tensai_cirno ★★★★★
()
Ответ на: комментарий от anonymous

> Во укурки, а? Это ж надо додуматься до такого?

лисперы - что с них взять?

anonymous
()
Ответ на: комментарий от dmsh

> Причем тут огнелис? Я про емакс говорил.

Потому что неосиляторство от программируемости (расширяемости) не зависит. Пример, Firefox. Это, наоборот, его основная фича.

anonymous
()
Ответ на: комментарий от mv

Может я конечно ошибусь, но по-моему причина в том, что ты mv, а не в том, что ты пишешь на CL.

balodja ★★★
()
Ответ на: комментарий от den73

- динамичекая система типов, можно определять новые типы с помощью логических операций, например, можно определить тип «число или строка».

Так можно делать и в языках со статической типизацией.

Ты забыл про самый главный плюс lisp'а — широкие возможности для метапрограммирования.

Reset ★★★★★
()
Ответ на: комментарий от anonymous

>>- лисп компилирует в нативный код

Вроде не каждая реализация лиспа так умеет. Знаю что SBCL точно может.

SBCL, CCL, Allegro, Lispworks, Corman lisp - умеют. GCL (за ECL не скажу) компилирует путём трансляции на С, компиляции файла на С и последующей компоновки разделяемой библиотеки, всё это, относительно лиспа, происходит в рантайме. Т.е., из популярных реализаций не умеет только CLISP.

den73 ★★★★★
()
Ответ на: комментарий от tensai_cirno

какие ограничения накладываются в Personal edition на компилятор самой lispworks? Опенсорц клепать можно?

Цитата из лицензии:

3. Non-Commercial Use Only. You may only use the Software for not-for-profit purposes including teaching and research and personal use. You may also use the Software for evaluation purposes. Use of the Software for the development of any commercial software product is strictly prohibited under the terms of this Agreement and such use shall serve to automatically terminate the license granted hereunder.

den73 ★★★★★
()

LISP (Lots of Irritating Superfluous Parentheses)

не нужон!

FedeX ★★
()
Ответ на: комментарий от balodja

Ну ты даешь, лисповые макросы с сишными сравнивать

Как там, давно на C не писал:

#define MAX(x,y) ((x)>(y)?(x):(y))
...
MAX(1,2);
и
(defmacro max1 (x y) `(if (> ,x ,y) ,x ,y))
...
(max1 1 2)
Что не так? То, что можно в С, можно и в лиспе, но не vice versa, естественно. Например, нельзя вот так:
(defmacro ask-programmer ()
  (print "enter macroexpansion for ask-programmer")
  (read))
Конечно, такой макрос имеет мало смысла, я просто иллюстрирую, что лисповый макрос, в отличие от сишного, позволяет производить произвольные вычисления во время компиляции и подставлять их результат в генерируемый код.

den73 ★★★★★
()
Ответ на: комментарий от mv

> Когда я писал на Си, то жил в бедной Чехии и ездил на Сеате Ибице. Сейчас пишу на Лиспе, живу в омереке и езжу на Волво V70.

:))) зобавный рост! На чём же надо писать, чтобы купить хоть завалящую ламборджини? :)))

PS
Не принимайте близко к сердцу, но Вольва - не айс, не котируется даже у угонщиков :) Хонды, бимеры - вот топ среднего класса. Даже распонтовые мерсы нафик никому не упёрлись.

matumba ★★★★★
()
Ответ на: комментарий от den73

> лисповый макрос, в отличие от сишного, позволяет производить произвольные вычисления во время компиляции

LISP вообще много чего позволяет в рантайме, ЧЕМ И ОПАСЕН. В серьёзных приложениях такая бомба не нужна.

matumba ★★★★★
()
Ответ на: комментарий от Reset

>> - динамичекая система типов, можно определять новые типы с помощью >>логических операций, например, можно определить тип «число или строка».

Так можно делать и в языках со статической типизацией.


Ты забыл добавить «в некоторых» и забыл прочитать «динамическая», т.е. это можно делать в рантайме. Хотя, строго говоря, с помощью разделяемых библиотек можно определить новый тип в рантайме даже для С++, но речь идёт о технических преимуществах. В С++ это сделать трудно, в лиспе - легко. Кроме того, в лиспе тоже есть (необязательная) статическая типизация. По умолчанию любая переменная имеет тип T, что означает «произвольный тип».

Ты забыл про самый главный плюс lisp'а


Я не только не забыл, но и привёл примеры метапрограммирования для других языков, которые в лиспе заменяются макросами. Читай внимательнее (хотя я понимаю, что размер моего сообщения оказался немного чрезмерным).

den73 ★★★★★
()
Ответ на: комментарий от matumba

> LISP вообще много чего позволяет в рантайме, ЧЕМ И ОПАСЕН
Можешь заменить LISP на «руки» или «мозг». Получится то же самое. Странно, да?

den73 ★★★★★
()
Ответ на: комментарий от den73

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

den73 ★★★★★
()
Ответ на: комментарий от naryl

> What he sees are merely weird languages.

And they really are. :)

Землепашец, смотрящий на семирукий кухонный комбайн, готов порваться от смеха, потому что лучше трактора ДЛЯ НЕГО ничего нет. Дай ему этот комбайн и он точно отрежет себе палец. Аналогично с оружием - можно в совершенстве убивать мотыгой, но заставьте его махать нунчаками и синяки неизбежны. Вопрос: а зачем давать нунчаки?! Это всего лишь другой инструмент для тех же самых задач. Глуп тот умелец, что хвалится своими нунчаками - вот он как раз и не видит многообразия инструментов, наивно полагая, что владеет лучшим.

matumba ★★★★★
()
Ответ на: комментарий от den73

Нет, чё-то я маханул на тему «что угодно». Во всяком случае, поменять несколько ассемблерных инструкций и изменить логику работы программы можно много где. Последнее время я на Дельфи практикую подмену функций и открытие private полей всякими небольшими хакерскими приёмчиками. Последнее, что я применял, было изменение класса экземпляра объекта в рантайме. Под «что угодно» я имел в виду, что безопасность, основанная на ограничениях языка программирования, является только иллюзией безопасности. Довольно глупо, если хакер может разобраться в бинарном коде твоей программы и поменять её, а ты сам не обладаешь теми же возможностями в рамках своего ЯП, поскольку кто-то их убрал «в целях безопасности».

den73 ★★★★★
()
Ответ на: комментарий от mv

из чехии в америку — это, скорее, падение вниз.

anonymous
()
Ответ на: комментарий от matumba

Можно заменить «ЛИСП» на «C#» и получить в десять раз меньше гемороя. Странно, да?

Ну, тебе нечем заняться видимо, а я, пожалуй, займусь работой.

den73 ★★★★★
()
Ответ на: комментарий от bender

> расскажите кто-нибудь пожалуйста, что можно на лиспе
> написать полезного попсового

Я пишу веб-приложения, например попсовый lisper.ru, а ещё можно так.

archimag ★★★
()
Ответ на: комментарий от Reset

> Ты забыл про самый главный плюс lisp'а — широкие возможности

для метапрограммирования.


Утверждение, по крайней мере, весьма спорное.

archimag ★★★
()
Ответ на: комментарий от archimag

> Я пишу веб-приложения, например попсовый lisper.ru, а ещё можно так.

сколько можно кидать эти две унылые ссылки? страничку налабать каждый школьник может, а показывая «чудеса» в виде D'n'D JS - никого не удивишь, это говно даже никто не откомментил

anonymous
()
Ответ на: комментарий от Kuka

> В этом контексте положительными чертами языка являются его сложность

и ограниченность, а не технические преимущества над мейнстримом

(хотя бы потому, что таковых нет).



Какой из мейнстрим языков может предложить полностью интерактивную модель разработки? Одно это стоит уже очень и очень много. Надеюсь утверждать, что полностью интерактивная разработка не нужна ты не будешь (ибо глупо). А это ведь не единственная важная фича CL, аналога которой нет в мейнстрим языках.

archimag ★★★
()
Ответ на: комментарий от den73

> Рассказываю ещё раз: http://www.ystok.ru

посмотраивая на скриншоты вроде такого:

http://www.ystok.ru/products/ypharmacy-physician.gif

вспомнил поделки студентов на делфи, видимо дизайнерские мысли дельфистов и лисперов очень схожи, как впрочем и задачи

anonymous
()
Ответ на: комментарий от anonymous

а... так оно еще и win-only, еще один плюсик к дельфи-стайл

anonymous
()
Ответ на: комментарий от den73

>Последнее время я на Дельфи практикую

Лисперы на Дельфи пишут? Не можешь работу на лиспе найти?

Последнее время я на Дельфи практикую подмену функций и открытие private полей всякими небольшими хакерскими приёмчиками

Пока лисперы на дельфях отковыривают private-поля и прочей ерундой занимаются, PHP-сты пишут мощные вебсервисы и получают денежку.

Wizard_ ★★★★★
()
Ответ на: комментарий от anonymous

и сразу вопрос - скриншоты на ксероксе делали, что-ли?

ystok.ru - это не я, вопросы к автору. А чем тебе не нравится дельфи-стайл?

den73 ★★★★★
()
Ответ на: комментарий от den73

> А чем тебе не нравится дельфи-стайл?

убогостью интерфейса конечно, и тем что эта убогость - единственное, что в результате «дельфи-стайла» собственно и получается, остальное лабается за пол-часа на коленке, благо почти все дельфи-высеры - обертки над БД

anonymous
()
Ответ на: комментарий от anonymous

Ладно, обсудим где-нибудь в другой раз, тема вроде не про то.

den73 ★★★★★
()
Ответ на: комментарий от anonymous

> страничку налабать каждый школьник может

Там не страничка, а форум, вики, rss-агрегатор, pastebin. Любое веб-приложение может каждый школьник налабать, при достаточном количестве времени. Преимущества той или иной технологии в данной области заключаются в скорости этой разработки, а не в конечном результате.

показывая «чудеса» в виде D'n'D JS - никого не удивишь


Вообще-то я не фокусник, что бы удивлять. Это пример реального бизнес-приложения, написанного на CL и за которое мне платят деньги. Но вообще, я не думаю, что вам удастся найми много сопоставимых по сложности веб-приложений, использующих SVG для интерактивной графики.

archimag ★★★
()
Ответ на: комментарий от archimag

Какой из мейнстрим языков может предложить полностью интерактивную модель разработки?

возможно я что-то не понимаю, но python?

Zubchick
()
Ответ на: комментарий от archimag

> Там не страничка, а форум, вики, rss-агрегатор, pastebin

за%бись, только как я уже говорил - все это и гораздо больше доступно и школьнику, который возьмет уже готовое и лучшее решение

Но вообще, я не думаю, что вам удастся найми много сопоставимых по сложности веб-приложений, использующих SVG для интерактивной графики.


JS + SVG - это не лисп, К.О.

anonymous
()

Поправьте новость, это «ознакомительная» версия, чтоб народ халявой не смущать.

Gukl ★★★
()
Ответ на: комментарий от Zubchick

> возможно я что-то не понимаю, но python?

Нет, python не предлагает возможности горячей замены кода, а без этого о полностью интерактивной разработке говорить не приходится.

archimag ★★★
()
Ответ на: комментарий от Zubchick

> возможно я что-то не понимаю, но python?
Задачка такая. Есть модуль aaa, который в своё время был написан и импортирован в текущую программу. В модуле aaa есть функция bbb, в которой логическая ошибка: две строчки нужно поменять местами.
Функция bbb вызывается в цикле из программы.

В какой-то момент (на тысячной итерации) мы подрываемся на ошибке и выполнение программы прерывается внутри функции bbb.

В этот момент требуется (изнутри дебаггера):
- отредактировать определение функции bbb
- объяснить питону, что функция bbb поменялась
- безопасно вернуть из текущего вызова bbb какое-то значение (допустим, 0), чтобы программа могла продолжить работу
- при следующем вызове bbb из того же цикла должна вызваться новая функция bbb со строчками, которые поменялись местами

Можно так сделать в Питоне и если да, то как? В лиспе это делается легко и удобно с помощью SLIME. В Лиспворксе (пока мы про него не забыли) есть аналог SLIME, встроенный в среду.

den73 ★★★★★
()
Ответ на: комментарий от anonymous

> все это и гораздо больше доступно и школьнику, который возьмет

уже готовое и лучшее решение


Готовые решения я полагают тоже школьники пишут? Ладно, ам есть такой сервис, который парсит исходники PCL в формате dokuwiki и помимо рендеринга генерирует PCL в формате PDF. Какое готовое решение для этого доступно школьнику? Подсказка: для dokuwiki есть плагины (довольно мутные), которые позволяют делать PDF для отдельных страниц, но целую книгу на основе всей вики.

JS + SVG - это не лисп, К.О.


Значительная часть JS генерируется с помощью CL, из-за чего объём рукописного JS кода значительно сокращается, не надо тупить. Кроме того, для данного приложения очень важно клиент-серверное взаимодействие (AJAX), которое значительно проще разрабатывать и отлаживать имея такой интерактивный инструмент, как CL.

archimag ★★★
()
Ответ на: комментарий от archimag

> Нет, python не предлагает возможности горячей замены кода, а без этого о полностью интерактивной разработке говорить не приходится.

даже «сраные» C# и C++ такое позволяют:

http://msdn.microsoft.com/en-us/library/bcew296c(v=VS.100).aspx

так что тут дело не в языке, а в реализации

anonymous
()
Ответ на: комментарий от den73

в питоне можно запускать программу из под ipython'a, тогда при ошибке мы вывалимся в ipdb откуда можно поправить что надо и продолжить исполнение.

Zubchick
()
Ответ на: комментарий от archimag

На самом деле наш анонимный коллега прав. Другое дело, что Edit and Continue по своим возможностям - это полное убожество, по сравнению с лиспом.

den73 ★★★★★
()
Ответ на: комментарий от archimag

> Готовые решения я полагают тоже школьники пишут?

нет конечно - умные дядьки на нормальных языках, поэтому их решения универсальны, популярны и не требуют наличия в тех-поддержке лиспера

Значительная часть JS генерируется с помощью CL


здорово - прикрутил таки сбоку CL, именно сбоку и именно прикрутил - так как без него тут можно было обойтись, а без JS - нет

(AJAX), которое значительно проще разрабатывать и отлаживать имея такой интерактивный инструмент, как CL.


бла-бла-бла, тебе бы в маркетологи к M$

anonymous
()
Ответ на: комментарий от Zubchick

> можно поправить что надо
Как именно Вы будете подправлять функцию bbb, находящуюся в модуле aaa? (я не говорю, что это нельзя, просто на этом месте куда-то подевался мой предыдущий собеседник по питону и вопрос остался висеть в воздухе).

den73 ★★★★★
()
Ответ на: комментарий от Zubchick

> тогда при ошибке мы вывалимся в ipdb откуда можно поправить что надо

и продолжить исполнение.


Это не горячая замена кода. Вы не можете изменить в Python определение функции так, что бы все остальные части программы начали использовать именно его. Вы не можете изменить определение класса так, что бы это сказалось на имеющихся экземплярах. В python вычисление формы (такой как def) аналогично присваиванию, а это не то.

archimag ★★★
()
Ответ на: комментарий от archimag

> Хотя бы разберитесь в понятиях.

недавно тут некий mv писал, как «весело» интерактивно работать с лиспом, и какие косяки только из-за этого не вылазят

anonymous
()
Ответ на: комментарий от den73

То, что эти макросы с виду похожи, не делает их похожими семантически. По-моему, сравнивать средства текстовой подстановки со средствами манипуляции синтаксическим деревом — глупо, ибо они разной природы.

balodja ★★★
()
Ответ на: комментарий от elipse

Это же защита от Ъ. Ставишь LORCODE и втыкаешь ссылку.

balodja ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.