The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Увидел свет GNU Guile 2.0

16.02.2011 18:38

После пяти лет разработки представлен релиз проекта GNU Guile 2.0, в рамках которого развивается свободная реализация функционального языка программирования Scheme, поддерживающая возможность встраивания кода в приложения на других языках программирования. Guile является официальным языком разработки расширений для операционной системы GNU. Guile позволяет легко интегрировать в приложения расширяющие функциональность дополнения, модули и скрипты, дает возможность пользователям менять поведение приложения без углубления в его внутреннюю организацию.

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

Из улучшений GNU Guile 2.0 можно отметить:

  • Новая виртуальная машина и инфраструктура компиляции. Guile 2.0 компилирует Scheme-скрипты в байткод, который затем исполняется в специальной виртуальной машине. Для ускорения задействовано кэширование сгенерированного байткода на диске. По умолчанию компиляция происходит автоматически, в прозрачном для пользователя режиме. Для более тонкого контроля сборки предусмотрен специальный интерфейс командной строки и возможность создания собственных компиляторов на языке Scheme. В качестве таких альтернативных компиляторов представлены компиляторы для языков ECMAScript и Emacs Lisp;
  • Новый отладчик REPL (read-eval-print-loop), отличающийся поддержкой мета-команд, предоставляющих возможность интерактивного программирования. Например, можно скомпилировать заданное выражение или запустить для него функцию профилирования. Поддерживается возможность обратной трассировки, позволяющей отследить источник ошибки и проинспектировать состояние стека и переменных в определенные моменты в прошлом;
  • Поддержка гигиенических макросистем (hygienic macros) syntax-rules и syntax-case, гарантирующих отсутствие пересечений с уже определенными внешними именами для используемых внутри макроса имен;
  • Поддержка Unicode для хранения строк и строковых операций;
  • Частичная совместимость со стандартом R6RS. Поддерживается подключение библиотек R6RS и импорт форм R6RS;
  • Новый динамический FFI-интерфейс для связывания с Си-библиотеками, позволяющий создать биндинг для Си-библиотек без написания кода на языке Си;
  • Использование нового консервативного сборщика мусора (Boehm-Demers-Weiser garbage collector), который отличается повышенной производительностью и позволяет упростить организацию взаимодействия с кодом на языке Си
  • Добавлено 22 новых модуля, среди которых переработанная реализация хэшей, новые модули для HTTP, XML/SXML, регулярных выражений, LALR-парсинга и т.п.


  1. Главная ссылка к новости (http://www.gnu.org/software/gu...)
  2. OpenNews: Фонд свободного ПО возобновил публикацию бюллетеня с обзором развития проектов GNU
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/29625-scheme
Ключевые слова: scheme, lang, guile
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, klalafuda (?), 19:45, 16/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/

    Эээ.. А, пардон, что именно из себя представляет 'операционная система GNU' :-? И почему я о гвайле слышу от силы из новостей на опернете раз в сто лет не смотря на то, что он кем-то там где-то признан чем-то официальным и тд и тп по тексту :-?
     
     
  • 2.2, Andrey Mitrofanov (?), 19:59, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Столмана не читал, по ссылкам не ходил... Фамилия не РыцареффЪ?
     
  • 2.4, Tav (ok), 20:40, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Цель проекта GNU — разработка свободной ОС. В рамках проекта реализованы различные компоненты окружения, которые работают на ядре Linux. Окружение GNU на ядре Linux — GNU/Linux — вариант ОС GNU, основа большинства дистрибутивов Linux. Есть другие варианты: http://en.wikipedia.org/wiki/GNU_variants
     
  • 2.8, gegMOPO4 (ok), 22:08, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    GNU is Not Unix.

    Если бы слышали постоянно, это не было бы новостью.

     
     
  • 3.31, Aqueelone (?), 12:43, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Итак, GNU это как минимум
    1. Bash
    2. coreutils (fileutils: chgrp, chown, chmod, cp, dd, df, dir, du, ln, ls, mkdir, mkfifo, mknod, mv, rm etc., textutils: cat, cksum, head, tail, md5sum, nl, od, pr, tsort, join, wc, tac, paste etc., shellutils: basename, chroot, date, dirname, echo, env, groups, hostname, nice, nohup, printf, sleep etc.)
    3. cpio
    4. diffutils (diff, cmp, diff3, sdiff)
    5. findutils (find, locate, xargs, updatedb)
    6. finger
    7. fontutils
    8. grep
    9. groff
    10. GRUB
    11. gzip ... и так далее

    Кстати, Xenos (который потом стал MS-DOS) -- тоже был GNU/...

     
     
  • 4.35, gegMOPO4 (ok), 13:34, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, Xenos (который потом стал MS-DOS) -- тоже был GNU/...

    Xenos? MS-DOS?! Да вы бредите.

     
  • 2.9, CapKolbaskin (ok), 22:20, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > И почему я о гвайле слышу от силы из новостей на опернете раз в сто лет не смотря на то, что он кем-то там где-то признан чем-то официальным и тд и тп по тексту :-?

    Видимо, потому, что Вы не пользуетесь Guile. :-)
    Видимо, к Guile (Scheme, Lisp) Вы равнодушны (или являетесь их противником - это не более, чем предположение).

    Рекомендую попробовать - откроете для себя кое-что новое... :-)

     
     
  • 3.32, Aqueelone (?), 12:46, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >> И почему я о гвайле слышу от силы из новостей на опернете раз в сто лет не смотря на то, что он кем-то там где-то признан чем-то официальным и тд и тп по тексту :-?
    > Видимо, потому, что Вы не пользуетесь Guile. :-)
    > Видимо, к Guile (Scheme, Lisp) Вы равнодушны (или являетесь их противником -
    > это не более, чем предположение).
    > Рекомендую попробовать - откроете для себя кое-что новое... :-)

    ...просто очень часто использование это закомуфлировано. Вот человек устанавливает dev версию какого-то пакета и не задумывается что это...

     
  • 2.12, Онаним (?), 22:51, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > А, пардон, что именно из себя представляет 'операционная система GNU' :-?

    AFAIK это Posix-совместимое ядро ОС (обычно Linux, реже *BSD, в утопическом идеальном мире - Mach (Hurd)) и набор стандартных утилит GNU. Практически все "дистрибутивы Linux" (а также Debian GNU/kFreeBSD, Debian GNU/Hurd и ArchHurd) - частные случаи "операционной системы GNU".

    > И почему я о гвайле слышу от силы из новостей на опернете раз в сто лет

    Потому, что вид "Человек Разумный" всё ещё не вытеснен видом "Человек Стол". Lisp и его диалекты может быть и восхитительны с академической точки зрения но, увы, слишком эзотеричны практически, так же как мифичны и неуловимы загадочные "расширения операционной системы GNU", на нём написанные (кто-нибудь видел хоть одно?).

     
     
  • 3.13, CapKolbaskin (ok), 23:10, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > мифичны и неуловимы загадочные "расширения операционной системы GNU", на нём написанные (кто-нибудь видел хоть одно?).

    Ну уж не знаю, как там в "глобальном масштабе", а я, например, на Guile написал к С-проекту модуль, который выполняет преобразование чисел в строку (скажем, 102501 в "сто два пятьсот один" и т.п.). В модуле 56 строк. На С получалось как минимум раза в 2-3 больше кода.

    Я не претендую на "крутость". Просто привожу пример реально работающего расширения на Guile (Scheme, Lisp).

    PS: Уверен, что найдётся толпа программеров, которые "сделали бы лучше и короче", да ещё и на других языках. Ещё раз - я просто привёл пример.

     
  • 3.15, klalafuda (?), 00:01, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > AFAIK это Posix-совместимое ядро ОС (обычно Linux, реже *BSD, в утопическом идеальном мире - Mach (Hurd)) и набор стандартных утилит GNU. Практически все "дистрибутивы Linux" (а также Debian GNU/kFreeBSD, Debian GNU/Hurd и ArchHurd) - частные случаи "операционной системы GNU".

    Мне почему то кажется, что на среднестатистическом линукс-десктопе 'набор утилит GNU' является как минимум не мажорным по важности инструментарием. С точки зрения все того же среднестатистического пользователя. Разве что мы уже отнесли Xorg, KDE и тд и тп к миру 'утилит GNU' ;) Или сегодня уже все, что выпускается под лицензией GPL автоматически становится как бы 'частью проекта GNU'?

     
     
  • 4.16, CapKolbaskin (ok), 00:19, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Или сегодня уже все, что выпускается под лицензией GPL автоматически становится как бы 'частью проекта GNU'?

    Имхо, за это упираются только господа из GNU во главе с RMS. В "остальном мире" вроде бы таких фанатиков не так уж много.

    И-эхх, новость-то про Guile была... А свалилось всё опять в очередной флэйм: "чё GNU, а чё не GNU". Весь пар на это уходит... :)

     
     
  • 5.20, Andrey Mitrofanov (?), 09:31, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Или сегодня уже все, что выпускается под лицензией GPL автоматически становится как бы 'частью проекта GNU'?
    > Имхо, за это упираются только господа из GNU во главе с RMS.

    http://www.gnu.org/licenses/gpl-faq.html#DoesUsingTheGPLForAProgramMakeItGNUS

    Никто не знает про Столмана, блин...

    > В "остальном мире" вроде бы таких фанатиков не так уж много.

    Крестьн во повылазилдо что-то... Морозы??

    > "чё GNU, а чё не GNU". Весь пар на это уходит... :)

    Да-да, привет газификаторам.

     
     
  • 6.26, CapKolbaskin (ok), 20:34, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Крестьн во повылазилдо что-то... Морозы??

    Шифровку принял. Как дешифрую - сразу отвечу. :)

    В следующий раз используйте лист номер 455656756 шифроблокнота YQTTR :)

     
  • 4.18, Аноним (-), 04:54, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Мне почему то кажется, что на среднестатистическом линукс-десктопе 'набор утилит GNU' является как минимум не мажорным по важности инструментарием.

    Когда кажется - креститься надо.

     
  • 4.22, ffirefox (?), 11:25, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне почему то кажется, что на среднестатистическом линукс-десктопе 'набор утилит GNU'
    > является как минимум не мажорным по важности инструментарием. С точки зрения все
    > того же среднестатистического пользователя.

    Среднестатистический пользователь мозг использует реже чем рот.


     
     
  • 5.23, klalafuda (?), 11:36, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Среднестатистический пользователь мозг использует реже чем рот.

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

     
     
  • 6.38, Аноним (-), 14:40, 22/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Именно за среднестатистического пользователя сегодня борется подавляющее большинство дистрибутиво-клепателей и десктопо-воятелей.

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

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

    Если вы вообще имеете хоть какое-то отношение к индустрии, чтобы о ней судить.

     
  • 4.40, Аноним (-), 15:04, 22/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне почему то кажется, что на среднестатистическом линукс-десктопе 'набор утилит GNU' является как минимум не мажорным по важности инструментарием.

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

     
  • 3.33, Aqueelone (?), 12:49, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > мифичны и
    > неуловимы загадочные "расширения операционной системы GNU", на нём написанные (кто-нибудь
    > видел хоть одно?).

    А Вы вот назовите ХОТЬ ОДНУ современно-существующую ОС, которая не является "расширением операционной системы GNU"!!!!

     

  • 1.3, Аноним (-), 20:21, 16/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Мне тоже интересно, что это за Неуловимый Джо - "Операционная система GNU". Которой никто никогда не видел.
     
     
  • 2.5, Аноним (-), 21:07, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это то, что ты по недоразумению называешь "линукс"
     
     
  • 3.19, Аноним (-), 07:27, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Жжош. Я не называю несуществующих артефактов.
     
  • 2.6, Фердыщенко Павел Сергеевич (?), 21:10, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > что это за Неуловимый Джо - "Операционная система GNU"

    Мистификация Столлмана и его сподвижников. Чтобы получить в свои руки власть над достаточным количеством паствы, им нужно было как-то продвинуть и распиарить своего лидера. Для чего и были придуманы все эти якобы наработки РМСа (gnu, emacs), его образ труъ-программиста и т.д. Народ , любящий создавать себе кумиров и бессмысленные идеалы, клюнул на эту банальную наживку и уже сам побежал агитировать своих знакомых. Таким образом, паства увеличивалась в геометрической прогрессии, а вместе с ней и количество денег, текших в карман "добрых пастырей". На данный момент они имеют в своих руках достаточно власти, чтобы оказывать вполне активное воздействие на мировой исторический процесс.

     
     
  • 3.7, anon2 (?), 21:25, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Прям сценарий к фантастическому фильму :)
     
     
  • 4.11, dq0s4y71 (??), 22:44, 16/02/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Осталось только спонсора найти в лице M$ ;)
     

  • 1.14, xxx (??), 23:33, 16/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Кроме языка Scheme, для которого реализована поддержка спецификаций R5RS и R6RS

    Тут порадовался.

    >Частичная совместимость со стандартом R6RS. Поддерживается подключение библиотек R6RS и импорт форм R6RS;

    Тут огорчился.

     
     
  • 2.17, CapKolbaskin (ok), 00:25, 17/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>Кроме языка Scheme, для которого реализована поддержка спецификаций R5RS и R6RS
    > Тут порадовался.

    Ну, наконец-то - коммент по теме! :)
    Присоединяюсь.

    >>Частичная совместимость со стандартом R6RS. Поддерживается подключение библиотек R6RS и импорт форм R6RS;
    > Тут огорчился.

    Ничего страшного - допилят.
    Мне до сих пор вполне хватало поддержки R5RS. Честно говоря, я пока даже ещё толком не успел почитать, чего такого нового в R6RS - руки не дошли. Но понятно, что переползать на новый стандарт надо. Вопрос времени.


     
     
  • 3.27, xxx (??), 13:43, 18/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Честно говоря, я пока даже ещё толком не успел почитать, чего такого нового в R6RS - руки не дошли.

    Это стандарт вообще неодназначен, приняли его со скрипом, если мне не изменяет память только 60% проголосовало за принятие. В нём сообщество решило сместить направление с минимализма на что-то более применимое в реальном мире. Но теперь он есть и его стоит придерживаться.

    Мне лично в схеме не нравится сильная зависимость от реализации, не стандартиризован FFI. А очень бы хотелось иметь привязки к популярным библиотекам работающие с любой реализацией. Например, что-нибудь вроде scm-gtk, scm-libevent и т. д.

     
     
  • 4.28, CapKolbaskin (ok), 02:13, 20/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Это стандарт вообще неодназначен, приняли его со скрипом, если мне не изменяет память только 60% проголосовало за принятие. В нём сообщество решило сместить направление с минимализма на что-то более применимое в реальном мире. Но теперь он есть и его стоит придерживаться.

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

    > ... А очень бы хотелось иметь привязки к популярным библиотекам работающие с любой реализацией. Например, что-нибудь вроде scm-gtk, scm-libevent и т. д.

    Вот тут "тремями руками" - за! :)
    А то для каждой реализации свой "зоопарк" или ещё хуже - вообще того, что нужно, нет. Разумеется, можно и свои "костыли" писать, но... хотелось бы время поэкономить.

     

  • 1.29, Aqueelone (?), 12:33, 21/02/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    << После пяти лет разработки представлен релиз проекта GNU Guile 2.0,

    ...представлен от он представлен, но вот в Wheeze репозитории его еще пока нету --- только 1.8. Тогда что они понимают под "релиз"?  

     
     
  • 2.30, Andrey Mitrofanov (?), 12:42, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > ...представлен от он представлен, но вот в Wheeze репозитории его еще пока

    Апричёмтут.

    В огороде 2.0.0.tar.gz, а в Киеве -- 1.8 ?

    Кстати, какие нынче версии Схима  "стоят" в Уиндоуз Фоун 7 ?

     
     
  • 3.34, Aqueelone (?), 12:54, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    нет, но как-то логично было бы его появление в репозитории TESTING Wheeze ... большой текст свёрнут, показать
     
     
  • 4.36, Andrey Mitrofanov (?), 13:51, 21/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >  ...нет, но как-то логично было бы

    Два.
    Нет, не "было бы" ни разу.
    Никакого отношения Ваша бузина к ихнему дядьке не имеет.

     
     
  • 5.37, Aqueelone (?), 10:56, 22/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >>  ...нет, но как-то логично было бы
    > Два.
    > Нет, не "было бы" ни разу.
    > Никакого отношения Ваша бузина к ихнему дядьке не имеет.

    Ага... как раз весьма весьма...

    Депенденсес для сабжа:
        * libgc 7.x
        * GNU libunistring
        * libffi

    вот в том и проблемы! )))
    мне libgc1c2 тоже больше нравится чем libgc от HP, активность которого на нуль.

    Вот собственно :
    ----цитата----
    Пакунок: libgc1c2                            
    Стан: встановлений
    Автоматично встановлений: ні
    Версія: 1:6.8-1.2
    Пріоритет: Стандартні (Standard)
    Розділ: libs
    Супроводжуючий: Ryan Murray <rmurray@debian.org>
    Розмір в розпакованому стані: 221 k
    Залежить: libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1)
    Конфліктує: libgc1
    Замінює: libgc1
    Опис: Традиційний збирач сміття для C та C++
    Традиційний збирач сміття 'GC' від Боєма (Boehm) призначається для використання у якості надставки замість С malloc.
    ----конец цитаты----

    ...как бы обапакета автор Boehm, но... ту есть группа поддержки (Супроводжуючий: Ryan Murray <rmurray@debian.org>) ...

    Т.О. сабж не готов к использованию "как релиз".

     
     
  • 6.41, Аноним (-), 09:34, 23/02/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Я не понял: это реклама GNU или реклама Незалежной?
    Или реклама незалежности GNU?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру