LINUX.ORG.RU

Представлен новый релиз Scheme48 1.9

 , , scheme48


0

4

Сегодня, 22 января 2013 года, состоялся новый релиз широко известного в узких кругах интерпретатора языка программирования Scheme — Scheme48, разработчиком которого является один из основных членов Руководящего комитета (Steering committee) Scheme Джонатан Риз. Релиз имеет номер 1.9 и является достаточно долгожданным, поскольку интерпретатор не обновлялся сравнительно давно.

Основные добавления таковы:

  • добавлен новый механизм FFI (старый пока тоже доступен, однако, в скором времени будет удален);
  • добавлен набор функций для поддержки сети (с полной поддержкой IPv6 и UDP, пока не документирован);
  • записи теперь поддерживают наследование (доступно через пакет r6rs-records);
  • добавлен letrec*;
  • интерпретатор теперь предупреждает о циклических зависимостях и переопределениях в модулях;
  • добавлен статистический профилировщик;
  • если VM интерпретатора собирается компилятором, поддерживающим GNU C, то используется прямой шитый код, что позволяет ускорить выполнение;
  • другие добавления, касающиеся поддержки возможностей R6RS, системы сборки и лицензирования (по ссылке «Подробности»).

Список важнейших изменений:

  • переработан собственный сборщик мусора BIBOP GC, который теперь используется по умолчанию;
  • переписана реализация syntax-rules;
  • другие изменения, касающиеся системы сборки, лицензирования и поддержки POSIX (по ссылке «Подробности»).

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Silent (всего исправлений: 2)
Ответ на: комментарий от fontpath

А вот это, извините, уже звучит как оскорбление!

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

Basic не нужен, есть brainfuck и машинные коды.

cab ★★★★
()

добавлен новый механизм FFI

А можно для Ъ рассказать вкратце, что там нового. А то когда я тыкал эту scheme48 там на счет FFI было не очень. Нужно было обвязки на C писать.

no-such-file ★★★★★
()
Ответ на: комментарий от cdshines

Racket supports multiple threads of evaluation. Threads run concurrently, in the sense that one thread can preempt another without its cooperation, but threads currently all run on the same processor (i.e., the same underlying OS process and thread)

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

Ну да, это я прочитал. Обозначать это как loop - это такой жаргон? Потому что я сразу как-то подумал про обычный какой-то цикл:)

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

ну а как это еще назвать? крутится цикл, по очереди вызывая код из разных «тредов». обычно это называется «event loop».

drF_ckoff ★★
()

Вне топика, но про лисп - в лиспе можно пользоваться указателями и арифметикой указателей? Неважно зачем и сколько в этом смысла. Сам факт.

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

Да нет, странно что тебя задело «недообщелисп», когда ты сам все прекрасно понимаешь.

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

Указатели, арифметика, разыменования, косвенное обращение к памяти… экая дурнопахнущая куча баззвордов! Да всё это ненужно. Ты не понимаешь, Лисп не предназначен для таких „задач“. Он работает по-другому.

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

написал же, «Неважно зачем и сколько в этом смысла». было интересно «в принципе»

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

в лиспе можно пользоваться указателями и арифметикой указателей?

Если вы имеете в виду «согласно стандарту», то нет.

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

Насколько понял, это пока может только запустить elisp код на guile. Ворочать буферами из схемы не получиться.

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

Racket — хороший язык, но это не Scheme. Так можно сказать «Racket не нужен, есть CL».

Все три не нужны, есть Python.

Нам не нужны самолеты, у нас есть велосипеды!

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

Зачем тебе в языке для конфигов полноценный ЯП? Только недавно радовался, что от вимскрипта свалил. И уже опять не хватает?)

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

Нам не нужны самолеты, у нас есть велосипеды!

У нас есть и велосипеды, и самолеты. Так что нам не нужны ни ни Scheme, Racket, ни CL.

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

Зачем тебе в языке для конфигов полноценный ЯП?

elisp — полноценный ЯП, с этим всё ок. Просто он мог быть чуточку удобнее. Всего лишь ворчание питонщика, не более.

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

Ну, положим, что самолеты без, скажем, CL, не летали бы т.к. многие авиакомпании его пользуют.

Авиакомпании используют очень много чего. И для протокола: ITA производит специализированную поисковую машину, без которой самолеты летать точно не перестанут.

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

Она же использует CL для своей системы резервирования билетов, например. Формально то, конечно, они взлетят, но без пассажиров особо лететь незачем :)

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

elisp - язык для расширений, а не только для конфигов.

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

Почему без пассажиров? Возьмут готовую систему бронирования (и оплаты карточками) билетов на джаве, и отправят свои самолеты вместе с пассажирами. Окупят на первой пятёрке рейсов.

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

Разработчики старой еще работают на них. Как помрут/уволятся - так сделают.

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