LINUX.ORG.RU

GNU Guile 2.9.5 (beta)

 , , ,


1

1

Guile 2.9.5 — это пятый beta-выпуск реализации языка программирования Scheme от GNU, готовящийся к стабильной ветке 3.x.

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

Изменения по сравнению с прошлой бета-версией:

  • Объединение разных видов «записей» (Record) в один.
  • Новая реализация исключений:
    • Старый throw & catch из Guile -> в более общепринятый в Scheme raise-exception & with-exception-handler.
  • Оптимизация приведения целочисленных типов к типам с плавающей запятой.
  • Определение высокоуровневых биндингов для вспомогательного синтаксиса: else, =>, ..., _.
  • Общепринятый gettext-алиас теперь G_.
  • Добавлена опция --r6rs, но поддержка неполная.
  • Добавлена поддержка R7RS (!).
  • Объявлен устаревшим вызов record-constructor с двумя аргументами.

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



Проверено: a1batross ()
Последнее исправление: Virtuos86 (всего исправлений: 4)

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

можно совместить схемку и си. например, кодогенерировать лисп в сишечку или сразу, как в Guile воткнуть (embed) в схему примитивы, написанные на си. или замерить производительность и воткнуть самое медленное, как в питоне с обёртками и срутоне.

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

С чего вы это взяли?

ну с того что tcl/ecl/lua/scheme вы считаете недостойными средсьвами для написания всяких поделок. а обычно это идет от людей, которые считают что все надо писать на неком foo (и как правило это C/C++/go/rust)

Я догадался. Что с остальными тремя? Или вы считаете что не думая всё надо на Scheme писать?

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

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

facepalm

ой, да он куда более известен чем ваш DSL(ну по сути то), который был создан для обработки данных, и чтоб получше и быстрее sql. так что да, ecl это типа common добавили в emacs lisp, скорее чем то что вы имели ввиду - кто то еще в курсе тут про этот ecl ?

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

квазиквотация (епти ж кот, слово-то какое)

Сам слово выдумал — сам удивился. А по-русски это будет квазицитирование.

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

Муахахаха. Прям церновнославянское слово, «квазицитирование». А что не «мнимоцитирование»? Вот это я понимаю «по-русски»! Товарищ лингвист, а с каких пор технические термины обязаны выглядеть по-русски?

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

кто то еще в курсе тут про этот ecl ?

Как я понимаю, в этом сраче главная фича это встраиваемость, и тогда здесь говориться ничем прочем как о Embeddable Common Lisp.

ados ★★★★★
()
Последнее исправление: ados (всего исправлений: 1)
Ответ на: комментарий от Virtuos86

Товарищ лингвист, а с каких пор технические термины обязаны выглядеть по-русски?

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

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

Ага. Инстанцирую структуры и матчу паттерны. Потому что «создаю экземпляры структуры» и «сопоставляю образцы» звучит непривычно. А откуда ты откопал последнее, я и знать не хочу (итемы они и в Африке итемы).

Про «должны» не понял. Если тебе кто-то должен, сам и разбирайся. В разговорном арго допустимы любые искажения литературного языка, если каждый участвующий в диалоге знаком с предметной областью. И не подкатывайте ко мне с такими спорами, отправлю в игнор и не предупрежу :).

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

Инстанцирую структуры и матчу паттерны. Потому что «создаю экземпляры структуры» и «сопоставляю образцы» звучит непривычно

Мда. Профессиональная деформация, однако.

В разговорном арго допустимы любые искажения литературного языка

Окей. Базару нема. Но чем же тогда тебя квазиквотация так удивила? Ведь слово ничуть не страньше чем инстанцирование и матчинье. Хоть на русском, хоть на аглицком.

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

ну с того что tcl/ecl/lua/scheme вы считаете недостойными средсьвами для написания всяких поделок. а обычно это идет от людей, которые считают что все надо писать на неком foo (и как правило это C/C++/go/rust)

Мдя. На самом деле всё просто. Я считаю ни один язык недостойным средством для написания всех поделок. Сам (для поделок) выбираю из CL, Tcl, Scheme, Python (примерно в этом порядке) если у заказчика пожеланий нет.

… это ж надо было мне так формулировать мысли чтобы создать у собеседника строго противоположное мнение.

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

кто то еще в курсе тут про этот ecl ?

Ладно, тут я даже понимаю чем сбиваю с толку, извините. Остальные - языки, ecl - встраиваемая реализация Common Lisp.

Gentooshnik ★★★★★
()
10 февраля 2020 г.
Ответ на: комментарий от monk

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

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

А как без лишних хлопот запустить демон?

Racketd просто запускаешь racket racketd.rkt, а вот программу ему надо скармливать через racketd-client. То есть нужно установить rust и в скачанном исходнике racketd-client написать cargo build --release. Получишь бинарник racketd-client, через который можно запускать скрипты (например, racketd-client test.rkt).

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