Linux.org.ru: Новости's Journal
[Most Recent Entries]
[Calendar View]
Saturday, December 8th, 2012
Time |
Event |
6:31p |
Вышла новая версия ECL 12.12.1 -- реализации языка программирования Common Lisp ECL (Embeddable Common Lisp) — это одна из многочисленных реализаций языка программирования Common Lisp со стандартом ANSI INCITS 226-1994 (R2004). Основной особенностью ECL является то, что он компилирует исходный Common Lisp код в байт-код или в портабельный Си-код, который затем компилируется стандартным Си компилятором текущей платформы, что делает компилятор ECL легко переносимым — например известны порты ECL на ARM которые работают на платформах Android и iOS. ECL также может легко встраиваться в приложения написанные на других языках, как скриптовый язык, но с более богатыми возможностями: Common Lisp, компиляция в байт-код или машинный код (если доступен компилятор языка Си). - Основые видимые изменения:
- DELETE-FILE, RENAME-FILE, chdir, mkdir и chmod теперь сигналят ошибки (работы с файлами).
- Обновлен ASDF со встроенным ASDF-BUNDLE вместо ASDF-ECL.
- SYS:FUNCTION-LAMBDA-LIST снова работает с макросами и специальным операторами.
- Линковка с ecl-help для безпроблемного использования DOCUMENTATION в уже готовых приложениях.
- ECL теперь генерирует более читабельный Си-код с правильными отступами, меньшим количеством меток и с более стандартными конструкциями.
- Исправленные ошибки:
- Улучшена производительность новой библиотеки для поддержки SMP.
- Исправления ошибок в очереди POSIX сигналов, которые вызывали повторяющуюся потерю Ctrl-C.
- Исправления опечаток, которые вызывали проблемы поддержки long long и unsigned long long.
- Код в ecl_import_current_thread() не был совместим GC API.
- Версия COMPILE-FILE, которая компилировала в байт-код, не поддерживала :EXTERNAL-FORMAT параметр.
- Скомпилированная версия DOTIMES вычисляла выходную форму в неправильном контексте.
- ecl_import_current_thread() не связывала *CURRENT-PROCESS*.
- Изменен алгоритм для определения является ли функция замыканием или нет, и который тип Си-реализации замыкания необходим для этого.
- Мета-объектный протокол:
- Теперь ECL полностью поддерживает MOP.
- Полностью изменен протокол начального этапа сборки/загрузки классов (class bootstrapping protocol), который теперь проще и более эффективен, позволяя нам иметь доступ ко всем классам на начальном этапе (сборки образа).
- Все методы доступа переопределены, как обобщеные функции, после начальной сборки образа (bootstrapping) ECL.
- Методы доступа стандартных классов теперь оптимизированы. Это стало возможным благодаря тому, что они полагаются на SLOT-VALUE, которые (по MOP) не могут быть переопределены или "обернуты" без ввода новых мета-классов.
- Компилятор больше не "инлайнит" методы доступа к слотам мета-объектов, которые могут быть переопределены.
- (SETF SLOT-VALUE) не всегда возращал присвоенное значение.
- SLOT-BOUNDP возвращал дополнителные значиния при ошибках.
- SLOT-VALUE-USING-CLASS не вызывал SLOT-UNBOUND
Исходный код ECL можно загрузить по адресу: http://sourceforge.net/projects/ecls/files/latest/download
common lisp, ecl, lisp, программирование
| 8:02p |
Jono Bacon ответил на претензии Ричарда Столлмана по поводу «несвободы Ubuntu» Вслед за высказанной Ричардом Столлманом критики Ubuntu, в блоге компании Canonical опубликован обзор планов по дальнейшему развитию средств online-поиска в Dash. Кроме того, Джоно Бэкон (Jono Bacon), менеджер Canonical по работе с сообществом, опубликовал развёрнутый ответ, в котором назвал сообщение Столлмана необоснованным, однобоким и излишне категоричным, не считающимся с точкой зрения другой стороны и способствующим нагнетанию негатива (FUD). ( читать дальше... ) P.S. Перевод Ubuntu Ru-LoCo в G+.
ubuntu, безопасность, столлман
|
|