LINUX.ORG.RU

Вышел новый релиз реализации языка Common Lisp - Clozure CL 1.5

 ,


0

0

Вышел новый релиз реализации языка Common Lisp - Clozure CL 1.5. Этот релиз включает много исправлений и улучшений:

  • Изменена версия FASL файла и образа памяти по сравнению с 1.4. Для перехода на версию 1.5 необходимо пересобрать все старые FASL файлы.
  • [Mac OS X] Ядро лисп системы собрано с SDK 10.5 поэтому небходима версия Mac OS X Leopard или выше.
  • Улучшена стандартная функция CL:RANDOM. Используется MRG321k3p генератор с периодом 2^185.
  • опция PURIFY теперь поддерживается на х86 архитектурах. PURIFY'ed объекты копируются в область памяти, которая не сканируется сборщиком мусора. Pезультатом может быть увеличенная скорость сборки мусора, a также улучшено совместное использование виртуальной памяти, если одновременно запущенно несколько процессов.
  • REBUILD-CCL теперь подавляет предупреждения при измении констант.
  • Переменные ввода/вывода связанные WITH-STANDARD-IO-SYNTAX (*PRINT-BASE*, *PRINT-ARRAY*, etc.) теперь локальны для каждого треда.
  • Добавлены бивалентные векторы. Они похожи на строковые потоки, только используются векторы размером (UNSIGNED-BYTE 8).
  • Ядро системы загружает только образ памяти, имя файла которого состоит из «kernel_name» + ".image" суффикс.
  • Улучшены утилиты анализа памяти: CCL:HEAP-UTILIZATION, CCL:HEAP-IVECTOR-UTILIZATION.

Поддерживаемые платформы:

  • Mac OS X 10.5 и позже(x86, x86-64, ppc32, ppc64)
  • Linux (x86, x86-64, ppc32, ppc64)
  • FreeBSD 6.x и позже (x86, x86-64)
  • Solaris (x86, x86-64)
  • Microsoft Windows XP и позже (x86, x86-64)

>>> Подробности



Проверено: isden ()

Ответ на: комментарий от www_linux_org_ru

> но сформулированны слишком абстрактно

Что дает полную свободу выбора реализации. То есть, сделать можно любой язык с расширяемым синтаксисом, пример расширения был выше приведен для Nemerle. Главное, чтобы этот механизм сам по себе был реализован только на уровне макр.

Вторая задача - любой встраиваемый eDSL, у которого система типов была бы не такая, как у Scala (или, соответственно, Лиспа).

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

Лучше предполагай сам, это интереснее.

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

> При наличии метапрограммирования очень легко делать разнообразные расширения, подобные этому LINQ-у.

Я так вижу, что вы нихрена не знаете про LINQ, и думаете, что это просто синтаксическая конструкция.

Синтаксис там совершенно не важен.

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

> Что тебе ничего не понятно будет, это как бы и так очевидно. Ты малограмотен.

Интересно, найдется ли здесь человек, которому твоя формулировка понятна. Еще интеереснее, если здесь найдутся двое, и они сравнят свое понимание :D

Определение - это и есть определение. Binding

Ну можешь же говорить понятно. Не всегда, но можешь %)

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

> Вопрос: а так ли необходимо эти реальные задачи решать через DSL и МП?

Необходимо. Потому что это самый быстрый и дешевый вариант.

Почему не подходит простое использование библиотек?

LINQ в виде библиотеки без синтаксической морды - это уродство.

Или разработка собственного языка и транслятора к нему?

Потому что это сложно, дорого и глупо. Зачем транслятор, когда уже есть готовый, который можно просто расширить?

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

> Ну можешь же говорить понятно.

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

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

> Я так вижу, что вы нихрена не знаете про LINQ, и думаете, что это просто синтаксическая конструкция.

Без синтаксиса LINQ намного менее юзабелен.

Синтаксис там совершенно не важен.

Ну ну. Насмешил.

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

> Задумайся, можно ли как либо иначе понять давно уже устоявшееся в литературе слово «определение»?

В Си определение переменной не означает присваивания ей значения. Если не буквоедствовать и не считать это привязкой к неопределнному значению, конечно.

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

И какой тут вообще Си, когда мы говорим про Scala, Nemerle и Lisp?

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

Кроме того, приведенная формулировка допускает логгировать и такие определения (они и в Scala и в Nemerle есть). Тоже полезно. Да и присваивание логгировать можно, хоть и несколько сложнее, но если кто-то такой борзый, то почему бы и это не сделать?

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

Во-первых кто сказал что «парадигма» обязательно означает модель исполнения. Во-вторых «пи-исчисление» не единственная модель для параллельности.

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

> Лучше предполагай сам, это интереснее.

попозже напишу, что я думаю по всему этому

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

> Хотя не очень понятно, что такое «определение переменных» - присваивание?

Ты ли это, tailgunner? Присваивание - это выражение. Определение переменной - это декларация.

(setf var value) / (defvar var value)
(set! var value) / (define var value)
var = value; / int var = value;

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

> Ты ли это, tailgunner?

Малограмотный я, чо тебе? %)

Хотя не очень понятно, что такое «определение переменных» - присваивание?

Присваивание - это выражение. Определение переменной - это декларация.

Ты договорись с анонимным братом сначала (он считает «определением» binding, насколько я понял) Потом объясни мне, какой смысл логировать декларации (и что такое вообще «логирование деклараций»).

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

Вроде вопрос был о языке мультипарадигменном.
Платформы вторичны, или я опять что-то упустил?

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

Ну мне профит простой. Я человек ленивый... Если кампутера
может за меня код писать - пусть пишет.
Понятно что большая часть задач и high-order функциями решится.
Но есть и оставшаяся часть.

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

Ладно убедили. Какая сейчас модная книга про C# чтобы это все эти
плюшки узнать а не формочки лабать учиться?

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

Троелсена читай. Правда, его книга по С# 4.0 еще не вышла, есть только Christian Nagel, Bill Evjen, Jay Glynn - Professional C# 4.0 and .NET 4.
Но всё же лучше не гонись за циферками и читай старенькую Andrew Troelsen - Pro C# 2008 and the NET 3.5 Platform Fourth Edition, намного подробнее написана же.

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

Можно за одно узнать анонс плюшек C# 4.0 по сравнению с 3.5?
Чтобы узнать что я упущу.

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

и огромнейшей инфраструктурой (на дотнете скоро весь оффтопик зиждиться будет)


Дай пару программ на .NET 4.0, чтобы я мог восхититься

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

Особенно если это Mono


Что, Nemerle уже в mono работает и в VisualStudio поддерживается mono?

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

> Можно за одно узнать анонс плюшек C# 4.0 по сравнению с 3.5?

Да на самом деле плюшек не так много: именованные параметры, мальца модифицированные генерики (in/out), PLINQ, да мелочёвки немного (BigInt встроенный, вроде как, появился).

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

> Дай пару программ на .NET 4.0, чтобы я мог восхититься

Не дам, последний раз за оффтопиком пару лет назад работал. А вообще смотрите сами: коллекции из коробки, параллельность из коробки, работа с сетью, форматами файлов из коробки, WF/WPF, XNA, осталось только что аппаратно-независимую CUDA прикрутить и только в путь.

Без обид, но в линуксе пока всё это прикрутишь, изучив десяток разрозненных библиотек (благо хоть Qt есть), конкуренты уже будут деньги лопатой грести за свой уже готовый продукт.

А вообще, почитав Троелсена (он опускается до достаточно низкого уровня), вдруг начинает проясняться, что MS, похоже, со своим дотнетом совершила самый верный шаг — десятилетнюю совместимость с win9x давно пора ломать, а на совершенно новую платформу все разом не скакнут. Да даже дело не в этом — их операционка всё больше и больше интегрируется с дотнетом, в нём уже чуть ли не изначально был заложен фундамент для построения новой ОС на своей базе (смотрите те же Application Domains). Чую когда новая Win3000 Zver Edition будет запускаться поверх .net (то есть всё, включая ядро, будет зиждиться на этой платформе), все эти линуксы и макоси смачно соснут, т.к. в таком случае получаем теоретическую независимость от аппаратной архитектуры, вездесущий управляемый код, CLR+DLR и прочие ништяки (гуглите singularity).

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

И да, я не фанатик, я лишь за технологический прогресс, который в данный момент вершит MS. Хотите вы этого или нет, но GNU медленно топчется на месте и такими темпами вряд ли куда придёт. Жаль будет только если MS засрёт реализацию всех этих фишек (а она ведь и любит и умеет такие подлянки кидать). Коль нет, так огромный рывок в разработке ОС нам гарантирован. Тут будет и независимость от платформы и интеграция софта, лучшая на порядок UNIX-way (на который уже давно забили, кстати говоря) и, самое главное, миллионы тугриков, вбуханных в разработку, тестирование и вылизование всего получившегося.

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

> И да, я не фанатик, я лишь за технологический прогресс, который в данный момент вершит MS. Хотите вы этого или нет, но GNU медленно топчется на месте и такими темпами вряд ли куда придёт. Жаль будет только если MS засрёт реализацию всех этих фишек (а она ведь и любит и умеет такие подлянки кидать). Коль нет, так огромный рывок в разработке ОС нам гарантирован. Тут будет и независимость от платформы и интеграция софта, лучшая на порядок UNIX-way (на который уже давно забили, кстати говоря) и, самое главное, миллионы тугриков, вбуханных в разработку, тестирование и вылизование всего получившегося.

Marketing bullshit.

CL-USER ()
Ответ на: комментарий от mix_mix

После прочтения данного опуса, навеянного маркетоидным бредом, я могу сделать только один вывод:

M$ в очередной раз изобрели Лисп-системы.

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

самое главное, миллионы тугриков, вбуханных в разработку, тестирование и вылизование всего получившегося


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

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

> Потому что это сложно, дорого и глупо. Зачем транслятор, когда уже есть готовый, который можно просто расширить?

Потому что с таким аморфным «готовым» неудобно работать?..

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

> Без синтаксиса LINQ намного менее юзабелен.

Чепуха.

LINQ - это, в первую очередь, набор функциональных расширений для языка. Лямбды/замыкания, map/filter/reduce, внешние методы - сильно облегчают жизнь там, где через них легче.

А пользовать именно синтаксис LINQ запросов или чейнить методы - уже копеешная разница.

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

> Ладно убедили. Какая сейчас модная книга про C# чтобы это все эти плюшки узнать а не формочки лабать учиться?

Риальне пацаны книг не читают, а сразу лезут в маны.

http://msdn.microsoft.com/library/bb308959.aspx

Читать с раздела «Language Features Supporting the LINQ Project», там самый жыр.

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

> навеянного маркетоидным бредом

Не отрицаю, что маркетоидным, но почему бредом? Это всё вполне реально, да и, вроде бы, с курса пока ни разу не сбились. Вот только, профукать всё могут без проблем, это да.

M$ в очередной раз изобрели Лисп-системы.


Именно! Единственное отличие, что в эти «системы» вкладываются деньги. Тот же лисп, не смотря на всю шедевральность языка, не получил денежной подпитки со стороны крупных компаний, поэтому сейчас и не нужен никому.
Мир, зараза, крайне иррационален: по сути, только бабло и двигает прогресс (e.g.: мощнейшая пиар-акция мозиллы, reiser3 под крылом novell, clang под крылом яббла etc.) Единственное отличие дотнета, что это не такое гавно, какое пытались пропихнуть раньше (ActiveX, DCOM etc.), поэтому я целиком за активное исследование этого направления.

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

> Чую когда новая Win3000 Zver Edition будет запускаться поверх .net (то есть всё, включая ядро, будет зиждиться на этой платформе), все эти линуксы и макоси смачно соснут

Системные программисты ITT

гуглите singularity

Ага, и WinFS.

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

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


А может наоборот? Все эти franzы хотели слишком много за свои IDE и все предпочли лабать на паскале и си?

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

>> то есть всё, включая ядро, будет зиждиться на этой платформе

Системные программисты ITT


Ну тут кривовато выразился, но подразумевался прямой отсыл к Singularity.

Ага, и WinFS.


WinFS да, не спорю… Но вот Singularity не провалилась, не надо. Её, насколько мне известно, реализовали именно в том объёме, который был необходим, далее выложили исходники, да забросили. Но забросили лишь по той причине, что она изначально была рассчитана не на «массовое производство», а то был лишь концепт, на основе которого должны быть внесены изменения в разработанную архитектуру (и весьма неплохую, причём).

Конечно, как всё на самом деле я не ведаю, но, учитывая куда всё потихоньку движется, факты со словами не слишком сильно расходятся.

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

Я думаю, сейчас несколько изменился подход к программированию в целом.

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

> Но вот Singularity не провалилась, не надо.

Она не могла провалиться - насчет нее вообще ничего не обещали, ибо исследовательский проект.

Конечно, как всё на самом деле я не ведаю, но, учитывая куда всё потихоньку движется, факты со словами не слишком сильно расходятся.

Взаимоисключающие параграфы.

Между тем, Джонатан Шапиро, которого нанимали для работы над Midori, ушел из M$. Не то, чтобы он был ценным кадром ИМХО, но как бы намекает...

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

> А может наоборот? Все эти franzы хотели слишком много за свои IDE и

все предпочли лабать на паскале и си?


Да не, основным потребителем Common Lisp всегда были вояки (Common Lisp вообще создавался на деньги DARPA), у них было очень много денег и интереса к распространению среди широких масс у основных поставщиков не было, а потом поздно уже было.

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

>Реализации Common Lisp под .NET нет, а всякие «недолиспы» неинтересны.

зря. mbase довольно интересен, вот только не смотря на все обещания, он не открыт. или уже?

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

>Схема ему уже недолисп, приехали.

Не заставляйте гуглить - дайте ссылку на компилятор схемы (6-й?) для нета

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

> И да, я не фанатик, я лишь за технологический прогресс, который в данный момент вершит MS. Хотите вы этого или нет, но GNU медленно топчется на месте и такими темпами вряд ли куда придёт. Жаль будет только если MS засрёт реализацию всех этих фишек (а она ведь и любит и умеет такие подлянки кидать). Коль нет, так огромный рывок в разработке ОС нам гарантирован. Тут будет и независимость от платформы и интеграция софта, лучшая на порядок UNIX-way (на который уже давно забили, кстати говоря) и, самое главное, миллионы тугриков, вбуханных в разработку, тестирование и вылизование всего получившегося.

не вершит, а снимает сливки (бабло), ибо Inferno

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

> не вершит, а снимает сливки (бабло), ибо Inferno

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

Just for lulz^W fun — это всего лишь сказочная модель, которая абсолютно неработоспособна в условиях здорового (да и нездорового тоже) капитализма. Хочешь чтобы проект был успешным? Либо найди инвестора, либо сам вкладывай большие деньги, а после пиарь, пиарь, пиарь. Вот такие дела.

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

Не дам, последний раз за оффтопиком пару лет назад работал


Кто-нибудь даст примеры хороших программ на .NET и Silverlight? Что-то http://www.silverlight.net/showcase/ не впечатляют

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

> Что, Nemerle уже в mono работает

А когда-то не работало?

и в VisualStudio поддерживается mono?

Представь себе, да.

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

> Потому что с таким аморфным «готовым» неудобно работать?..

С чего это вдруг «неудобно»? Бредишь, или просто безграмотный?

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

> Чепуха.

Чепуха у твоих родителей получилась. И теперь эта чепуха постит херню на ЛОРе.

LINQ - это, в первую очередь, набор функциональных расширений для языка. Лямбды/замыкания, map/filter/reduce,

Ой-вей, ну ты и больной. Какое отношение лямбда к LINQ имеет? Дурачок, LINQ - это language integrated queries. А лямбды и генераторы в язык ввели для того, чтобы все эти LINQ-и проще делать было.

В общем, ты или студентота, или просто ламер, и не вижу смысла такого никчемного и примитивного в чем-то убеждать. Бесполезно.

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

Bigloo открыт с самого рождения. IronScheme открыт.

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

R6RS - в топку. Правильная схема - это только R5RS.

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

>R6RS - в топку. Правильная схема - это только R5RS.

«Кому и кобыла - невеста»

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

> Задача 2 - eDSL с альтернативной, отличной от языка-носителя системой типов.

альтернативная система типов не нужна

она нужна разве что если «не хочу писать компилятор с нуля» — да, модульный компилятор это хорошо, но еDSL не для этого (не для замены написания компиляторов)

еDSL в нулевом приближении нужны для того, чтобы из всех возможностей языка выделить подмножество (man абстракция), например запретить работу с указателями и выдать юзеру либо ссылки с подсчетом (дешево и сердито), либо ссылки со сборщиком мусора — тогда (это уже первое приближение) выясняется, что помимо выделения подмножества есть кое-что еще (но тут долго писать)

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

возможный реальный пример: делаем на основе языка со статикой полностью динамичный eDSL

тут «альтернативная, отличная от языка-носителя система типов» пишется в полпинка, но проблема (скалы?) с литералами т.е. в нашем языке 42 может быть литералом целого, а в eDSL он должен быть литералом целого с неограниченной точностью

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

> Задача 1 - сделать исключительно на метапрограммировании альтернативный синтаксис, который позволял бы самого себя расширять.

в нулевом приближении: альтернативный синтаксис тоже не нужен

изменяемый в определенных границах синтаксис нужен, но определение этих границ очень важно (чтобы не было возможности создать вавилонское столпотворение и одновременно как минимум соблюсти «синтаксический» DRY) и сложно

что-то аналогичное readtable скале безусловно не хватает, и видимо и будет нехватать, т.к. синтаксис у нее замороченный; впрочем, выделить какой-то символ типа # и после него творить (перегружаемые юзером) чудеса — вполне реально; опять же это может пригодится для литералов (см. предыдущий пост)

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

О, сферический DSL в вакууме всё ближе, вакуума уже в достатке, а вот сферичности не хватает )))

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