LINUX.ORG.RU

MIT/GNU Scheme 10.1

 , , ,


2

3

MIT/GNU Scheme — это реализация языка программирования Scheme, предоставляющая интерпретатор, компилятор, отладчик исходного кода, встроенный Emacs-образный редактор и большую библиотеку времени выполнения. MIT/GNU Scheme заточен под программирование больших приложений с быстрым циклом разработки.

Изменения:

  • Сборки для Windows больше не распространяются, поскольку существовавшие 32-разрядные сборки малопригодны для современных систем, а для достижения работоспособности 64-разрядной нужны немалые усилия, в которых никто из текущих сопроводителей не заинтересован.
  • Для macOS теперь выпускаются только 64-разрядные сборки, поскольку в применяемом в последних выпусках инструментарии поддержка 32-разрядной сборки объявлена устаревшей.
  • Переносимая версия для C не включена в этот выпуск, поскольку её не удалось вовремя починить.
  • На следующий выпуск запланировано кучу мелких улучшений; первоочерёдными задачами этого выпуска являются нововведения.

Важные нововведения:

  • Почти полностью поддерживается R7RS (Семикратно Пересмотренный Отчёт по Алгоритмическому Языку Scheme), кроме:
    • автоподгрузки библиотек, которая появится в следующем выпуске;
    • многозначных возвратов, с которых есть прок лишь в ограниченных условиях; для исправления этого нужна сильная переработка компилятора, которая вряд ли когда-либо будет произведена.
    Обратите внимание на новую возможность R7RS — параметры, предоставляющие переносимый способ динамического связывания. С этого выпуска использование fluid-set объявлено устаревшим, и будет полностью удалено в будущем.

    Учтите также, что поведение REPL (цикл чтения-выполнения-вывода) не изменилось. То же самое касается загрузчика и компилятора, поскольку они автоматически определяют наличие R7RS-кода в файле и соответствующим образом это обрабатывают. Эти изменения позволяют и существующему коду работать, и новому писаться.

  • Поддержка Юникода:
    • поддержка NFC- и NFD-нормализации; большинство строк теперь в NFC;
    • поддержка конвертации между строками и байтовыми векторами UTF-{8,16,32};
    • символы, читатель, писатель и текстовые порты теперь поддерживают Юникод;
    • таблицы символов теперь поддерживают Юникод и занимают значительно меньше места благодаря внедрению списков инверсии;
    • новый соответствовальщик регулярным выражениям regsexp поддерживает Юникод;
    • старые соответствовальщики и rexpне поддерживают;
    • Edwinтоже.
  • Добавлен интерфейс внешних функций для динамической подгрузки C-библиотек и взаимодействия с ними из Scheme. Этот интерфейс заменил собой много специализированных интерфейсов к различным библиотекам, которые теперь представлены в виде плагинов.
  • Реализована виртуальная машина, svm, которая поддерживается в качестве нативной цели сборки. Хоть она и намного медленнее нативного кода, но работает на любой архитектуре. В этом выпуске предоставлена 64-разрядная версия; 32-разрядной нет, но она может быть собрана при необходимости.

Ещё изменения:

  • начальная поддержка SMP;
  • уведомления сборщика мусора;
  • события нитей;
  • многие другие мелкие нововведения и исправления.

Несовместимые изменения:

  • Большинство строк теперь иммутабельны! Почти все способы создания строк генерируют иммутабельные строки, кроме make-string и string-copy. Иммутабельность привносит множество новых возможностей, в первую очередь возможность использования компактных представлений, см. подробности в руководстве.
  • Процедура hash изменена для совместимости с SRFI 69. Перед этим она была похожа на object-hash, которая теперь должна использоваться вместо неё.
  • Процедуры vector-8b, использовавшиеся для работы со строками как с векторами байтов, объявлены устаревшими. Используйте вместо них непосредственно векторы байтов.
  • Процедуры для работы с URI больше не принимают в качестве аргументов строки. Конвертируйте строки в URI с помощью ->uri при их использовании.
  • Удалена поддержка старых форм кодирования в Юникод. Используйте вместо них конвертеры в векторы байтов, если это вообще нужно, поскольку для многих задач теперь отпала необходимость особым образом работать с Юникодом.

Экспериментальные новые возможности:

  • Тип URI имеет новый синтаксис: #<...>. И читатели, и писатели работают с этим синтаксисом.

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



Проверено: jollheef ()
Последнее исправление: bodqhrohro_promo (всего исправлений: 2)

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

Я понимаю. Более гнилого и лицемерного проекта, чем GNU ещё поискать. Никто до них не пытался приватизировать понятие свободы (пусть и в контексте ПО), чтобы в одностороннем порядке решать, какой софт «свободный», а какой — нет. Фактически никто не сделал больше GNU для дискредитации свободного ПО.

env ★★☆
()
Ответ на: комментарий от dk-

Какое движение? Что, до GNU не было свободного софта под лицензиями MIT и BSD? Под последней вон целая ОС готовая уже была. GNU громче всех кричали (и делали гораздо меньше многих других).

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

Имхо, бсд всеж херовая лицензия для развития. Конечно же - это дело авторов решать какую выбрать. Но таки гпл мне нравится больше бзды. Про мит ничего сказать не могу (на память ее суть не знаю)

dk-
()
Ответ на: комментарий от env

Что, до GNU не было свободного софта под лицензиями MIT и BSD? Под последней вон целая ОС готовая уже была

Не было. Целая ОС (даже не одна, а две, NetBSD и FreeBSD) появилась примерно в 1991-1995 годах, тогда же, когда и GNU/Linux, даже позже.

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

чтобы в одностороннем порядке решать, какой софт «свободный», а какой — нет

Есть четкие критерии.

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

Судя по вашей реакции, всё правильно делают.

+1.

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

Ну, кому и кобыла невеста. Кого-то воротит от GNUтого лицемерия и очковтирательства, а кому-то норм. Ну и Ad hominem — так себе аргумент.

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

Допустим, лично Столлман заклеймил твою поделку, как несвободную. Каковы будут негативные эффекты для тебя? Не выложат тарболл на gnu.org?

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

vrms ругаться будет, пичальбида!

root@localhost:~# vrms
       Non-free packages installed on localhost.localdomain

amd64-microcode                     Processor microcode firmware for AMD CPUs
bluez-firmware                      Firmware for Bluetooth devices
firmware-amd-graphics               Binary firmware for AMD/ATI graphics chips
firmware-brcm80211                  Binary firmware for Broadcom/Cypress 802.11 wireless c
firmware-linux-nonfree              Binary firmware for various drivers in the Linux kerne
firmware-misc-nonfree               Binary firmware for various drivers in the Linux kerne
icc-profiles                        ICC color profiles for use with color profile aware so
intel-microcode                     Processor microcode firmware for Intel CPUs
libunrar                            Library for extract *.rar format archives (non-free ve
mbrola                              Multilingual software speech synthesizer
opera                               Fast and secure web browser and Internet suite
p7zip-rar                           non-free rar module for p7zip
rar                                 Archiver for .rar files
skypeforlinux                       Skype keeps the world talking, for free.
sparse                              semantic parser of source files
teamviewer                          Remote control and meeting solution.
ttf-xfree86-nonfree                 non-free TrueType fonts from XFree86
unrar                               Unarchiver for .rar files (non-free version)
  Reason: Modifications problematic
viber                               Free Text & Calls.
virtualbox-guest-additions-iso      guest additions iso image for VirtualBox

Non-free packages with status other than installed on localhost.loc

cluster3                            ( dei)  Reimplementation of the Eisen-clustering softw
skype                               ( dei)  Wherever you are, wherever they are

        Contrib packages installed on localhost.localdomain

alsa-firmware-loaders               ALSA software loaders for specific hardware
browser-plugin-freshplayer-pepperfl PPAPI-host NPAPI-plugin adapter for pepperflash
flashplugin-nonfree                 Adobe Flash Player - browser plugin
game-data-packager                  Installer for game data files
game-data-packager-runtime          Launcher for proprietary games
glx-alternative-mesa                allows the selection of MESA as GLX provider
glx-diversions                      prepare for using accelerated GLX implementations from
iucode-tool                         Intel processor microcode tool
nvidia-installer-cleanup            cleanup after driver installation with the nvidia-inst
pepperflashplugin-nonfree           Pepper Flash Player - browser plugin
playonlinux                         front-end for Wine
quake                               classic gothic/horror-themed first person shooter
ttf-mscorefonts-installer           Installer for Microsoft TrueType core fonts
update-glx                          utility for switching the GLX implementation
virtualbox                          x86 virtualization solution - base binaries
virtualbox-dkms                     x86 virtualization solution - kernel module sources fo
virtualbox-qt                       x86 virtualization solution - Qt based user interface
winetricks                          package manager for Wine to install software easily

Contrib packages with status other than installed on localhost.loca

torbrowser-launcher                 ( dei)  helps download and run the Tor Browser Bundle
virtualbox-4.2                      ( dei)  Oracle VM VirtualBox
virtualbox-4.3                      ( dei)  Oracle VM VirtualBox
virtualbox-ext-pack                 ( dei)  extra capabilities for VirtualBox, downloader.

  22 non-free packages, 0.4% of 5529 installed packages.
  22 contrib packages, 0.4% of 5529 installed packages.
bodqhrohro_promo
() автор топика
Ответ на: комментарий от env

RMS это определение изобрёл, он его и приватизировал, всё в порядке.

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