URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 110702
[ Назад ]

Исходное сообщение
"Доступен GNU Guile 2.2 "

Отправлено opennews , 16-Мрт-17 18:39 
После шести лет разработки  подготовлен (https://lists.gnu.org/archive/html/guile-devel/2017-03/msg00... релиз проекта GNU Guile 2.2 (http://www.gnu.org/software/guile/guile.html), в рамках которого развивается свободная реализация функционального языка программирования Scheme (http://ru.wikipedia.org/wiki/Scheme), поддерживающая возможность встраивания кода в приложения на других языках программирования. Guile является официальным языком разработки расширений для операционной системы GNU. Guile позволяет легко интегрировать в приложения расширяющие функциональность дополнения, модули и скрипты, дает возможность пользователям менять поведение приложения без углубления в его внутреннюю организацию.

Основу Guile составляет эффективная виртуальная машина, которая выполняет переносимый набор инструкций, генерируемый специальным оптимизирующим компилятором. Виртуальная машина Guile легко интегрируется с кодом приложений на языках Си и Си++. Кроме языка Scheme, для которого реализована поддержка спецификаций R5RS (http://www.schemers.org/Documents/Standards/R5RS/) и R6RS (http://www.r6rs.org/),  в рамках проекта Guile разработаны компиляторы и для других языков, таких как ECMAScript, Emacs Lisp и Lua (в процессе разработки). В состав пакета входит библиотека модулей, в которых реализованы типовые сервисные функции, такие как работа с протоколом HTTP, парсинг XML и использование методов объектно-ориентированного программирования.

Новый выпуск примечателен добавлением нового оптимизирующего компилятора и новой высокопроизводительной регистровой виртуальной машины. По сравнению с прошлой стабильной веткой 2.0 в Guile 2.2 отмечается увеличение производительности выполнения существующих приложений как минимум на 30%. В новой версии также снижено потребление памяти и ускорена работа интерпретатора "eval". Представлена новая система динамического распределения памяти для стека, которая устранила все ограничения, связанные с фиксированным размером стека, и теперь позволяет использовать рекурсивные вызовы любого уровня вложенности.

Отдельно выделяется расширение средств многопоточного программирования. В Guile 2.2 добавлена возможность распараллеливания обработчиков в пространстве пользователя, позволяющая организовать одновременное выполнения миллионов легковесных нитей (fibers). Многопоточные библиотеки могут использовать нити для перехода в спящий режим с пробуждением при возобновлении операции ввода/вывода. В новой версии также расширены средства работы с локалями, а в строковых операциях по умолчанию задействована  кодировка UTF-8 и проведена оптимизация работы с многобайтовыми наборами символов. Предоставляемая в Guile реализация  Elisp признана полностью совместимой с Emacs и теперь содержит все заявленные в спецификации Elisp возможности, а также учитывает специфичные для Emacs  особенности.

URL: https://www.gnu.org/software/guile/news/gnu-guile-220-releas...
Новость: http://www.opennet.ru/opennews/art.shtml?num=46205


Содержание

Сообщения в этом обсуждении
"Доступен GNU Guile 2.2 "
Отправлено freehck , 16-Мрт-17 18:39 
> Предоставляемая в Guile реализация Elisp признана полностью совместимой с Emacs и теперь содержит все заявленные в спецификации Elisp возможности, а также учитывает специфичные для Emacs особенности.

Это, конечно, хорошо. Стало быть, можно надеяться, что Emacs окончательно переведут на Guile в уже недалёком будущем?


"Доступен GNU Guile 2.2 "
Отправлено Andrey Mitrofanov , 17-Мрт-17 09:52 
>> Предоставляемая в Guile реализация Elisp признана полностью совместимой с Emacs и теперь содержит все заявленные в спецификации Elisp возможности, а также учитывает специфичные для Emacs особенности.
> Это, конечно, хорошо. Стало быть, можно надеяться, что Emacs окончательно переведут на
> Guile в уже недалёком будущем?

Будущее уже https://www.emacswiki.org/emacs/GuileEmacsBuild здесь. А сдюжишь? :))

---Если я тебе скажу. что в нём и js типа есть, то http://lists.gnu.org/archive/html/guile-user/2017-03/msg0005... ты его в броузере захочешь?


"Доступен GNU Guile 2.2 "
Отправлено freehck , 17-Мрт-17 21:35 
О, спасибо. Когда я смотрел в последний раз, там было ешё не очень всё радужно. А они говорят, что из коробки теперь неплохо. Это хороший знак.

Теперь второй вопрос на повестке дня: раз Guile уже запилили хорошо, как дела с параллелизмом? Короче, пошёл смотреть, раз такая движуха.


"Доступен GNU Guile 2.2 "
Отправлено Вы забыли заполнить поле Name , 16-Мрт-17 19:16 
Меня в guile убивает названия модулей. Хочешь, например, функции для работы с vector, подключаешь (use-modules (srfi srfi-43)). Хочешь записи (records) - (use-modules (srfi srfi-9)).

"Доступен GNU Guile 2.2 "
Отправлено Вы забыли заполнить поле , 16-Мрт-17 19:37 
Серьёзно? Читабельненько.

"Доступен GNU Guile 2.2 "
Отправлено Аноним , 17-Мрт-17 11:11 
Да, воспринятненько

"Доступен GNU Guile 2.2 "
Отправлено chinarulezzz , 16-Мрт-17 19:51 
Разве нельзя декларировать импортируемые функции?

"Доступен GNU Guile 2.2 "
Отправлено freehck , 16-Мрт-17 23:53 
> Разве нельзя декларировать импортируемые функции?

Конечно можно. И декларировать, и переименовать, как нравится.
Для этого после модуля можно написать (#:select <и перечислить импортируемые символы>).
А можно, например, написать (#:renamer prefix:) - и все импортированные символы будут иметь имена вида prefix:<импортированный-символ>


"Доступен GNU Guile 2.2 "
Отправлено Вы забыли заполнить свою жизнь смыслом , 16-Мрт-17 21:04 
А как называется модуль, предоставляющий функциональность, известную как left-pad?

"Доступен GNU Guile 2.2 "
Отправлено A.Stahl , 16-Мрт-17 21:12 
(use-modules (ice-9 format))

"Доступен GNU Guile 2.2 "
Отправлено Аноним , 16-Мрт-17 22:46 
Это функции работы со строками

"Доступен GNU Guile 2.2 "
Отправлено freehck , 16-Мрт-17 23:48 
SRFI - это же просто стандарты, которые должны разделять реализации Scheme. Но если Вас так коробят имена, ничего ж не стоит переименовать модуль, как Вам нравится, и в остальной программе использовать уже это имя. :)

"Доступен GNU Guile 2.2 "
Отправлено Вы забыли заполнить поле Name , 17-Мрт-17 16:06 
Это понятно, но не избавляет от факта, что мне нужно даже в этом случае помнить в каком стандарте принята та или иная функциональность. Зачем это нужно? Почему не сделать опцией указание стандарта, а модулям дать нормальные имена. Если указанном стандарте нет модуля - ошибка с нормальным сообщением.