LINUX.ORG.RU

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

 , ,


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 ()

Ну сейчас начнётся... Зашкаливание количества слов «нинужно» в каждом первом комментарии. :)

Ушёл скачать «на посмотреть», как имеющий некоторое отношение к scheme.

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

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

buddhist ★★★★★ ()

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

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

buddhist опередил... :)

Racket — уже не scheme.

Конечно, есть guile, есть bigloo, но... в общем, надо посмотреть.

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

Зашкаливание

Ох не стоило употреблять букву «Ш» в треде, сейчас же начнётся страшный бугурт у лишпоненавистников.

По теме: Scheme48 в реальной жизни кто-нибудь использовал? А то всё bigloo, chicken, guile там всякие...

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

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

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

Кто-то же должен был это сказать.

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

Но ведь все схемы асимптотически приближаются к racket, и эта тоже - реализация фич r6rs, letrec* и все такое. Хотя да, разнообразие лиспов не помешает, наверное.

cdshines ★★★ ()

Собрался. Работает. На днях чего-нить из своих scheme-скриптов перетащу в него, потестирую. Если работой не завалят. :)

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

Python не нужен, есть Ruby.

Кто-то же должен был это сказать.

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

Но ведь все схемы асимптотически приближаются к racket

Это откуда такая информация? Чем-то как-то подкреплено, подтверждено? Где можно конкретные факты посмотреть?

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

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

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

Это я так очень вольно сказал, что racket - это нечто большее, чем scheme.

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

Возможно, что и так. Но я в guile и bigloo гораздо больше ковырялся, поэтому кое-что уже «выучил». А вот racket только ещё осваиваю, к тому же ме-едленно.

Впрочем, мой пример — отдельный случай, который ни о чём не говорит. Поэтому, возможно, ты прав.

DeVliegendeHollander ★★ ()

«Нич-чего не понимаю!» (с) СВК

Сейчас смотрю внимательно: скачал scheme48-1.9.tgz.

Везде — на сайте, в ссылках, в именах каталогов и файлов — scheme48-1.9.

Но после запуска пишет:

Welcome to Scheme 48 1.8 (made by abuild on Tue Mar 8 21:13:45 UTC 2011)

Copyright (c) 1993-2008 by Richard Kelsey and Jonathan Rees.

Шо за фигня такая? Обман? Где 1.9? Объявили, но на сайт не выложили?

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

Может, забыл обновить «вшитую» версию? У меня такое частенько бывает: наделаю кучу изменений, а номер версии в CMakeLists.txt не поменяю...

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

Может, забыл обновить «вшитую» версию?

Каккую «вшитую»? Я вообще в самый первый раз эту Scheme48 ставлю, никогда раньше её не было ни в каком виде.

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

В смысле — откуда-то она эту версию берет. Значит, внутри есть что-то вроде

prinft("Welcome to Scheme " __VERSION__ …
А макрос __VERSION__ определяется системой сборки, а в системе сборки версию не обновили… ☺

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

Ошибся. Я сам дурак. Спасибо, что подсказал лоху. И вправду, оказывается установлена предыдущая версия.

Ой, лошара, я, лошара. Спасибо, Эдди, вразумил.

Посыпаю голову пеплом.

Это всё склероз проклятый и старческий маразм.

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

А я-то тут при чем? Я просто мимо проходил… ☺

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

Так ведь именно ты сказал про старую версию. Я сначала разбухать начал, а потом полез проверять.

Проверил теперь 1.9. Работает. Полёт нормальный.

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

о количестве батареек

В Racket, строго говоря, нет батареек. Потому что нет «безбатареечной» реализации. Сравните голый Tcl/Tk и ActiveTcl, чтобы понять, что такое батарейки.

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

Я имею в виду средства для реализации gui, высокоуровневой работы с сетью и т.д.

cdshines ★★★ ()

OMG, да сколько этих реализаций схемы то

vertexua ★★★☆☆ ()

отличная новость!

никогда не пользовался данной реализацией, но питаю тёплые и нежные чувства к scheme.

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

Оба не нужны. Есть Java и .NET.

Простите, но кто-то должен был это сказать.

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

ведь есть Perl.

Это такой полуэзотерический, полумертвый язык на котором можно не легко, о очень легко написать write-only костыль для шелла? Но зачем для этого необходим скриптовый язык, когда то же самое можно сделать в машинных кодах на haskell?!

d_Artagnan ★★ ()

Пошел по подробностям, и ссылки не пашут. Хоть бы проверили что PDFы открываются,

«Change order of include directories for VS 2010.»
«Add a bunch of missing .vcxproj files to the dist target.»
«Note update to Visual C++ 2010 Express in WINDOWS.txt.»

По-моему это тонкая диверсия от лишперов :)

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

Странно. У меня всё открылось и скачалось.

То ли ты куда-то не туда пошёл, то ли это толстая диверсия от д'Артаньяна. :)

DeVliegendeHollander ★★ ()

И ещё одно замечание: вот что мне всегда нравилось, так это качественная и подробная документация практически по всем scheme'ам — что по guile, что по bigloo, что вот теперь по scheme48 (хотя она сейчас и помечена, как incomplete). Well done, schemers! :)

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

Ох не стоило употреблять букву «Ш» в треде, сейчас же начнётся страшный бугурт у лишпоненавистников.

Хм, об этом я не подумал. Учту на будущее. :)

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

Java рулит...

ибо это самый кошерный язык для написания рулонов бойлерплейт скриптов. Fixed.

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

так ведь каждый студент, дочитав sicp до определенных глав, пишет свою реализацию)

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

емакс был написан на жутком недообщелиспе

Emacs Lisp - вполне себе приятный и самобытный язык, и уж никак не недообщелисп.

yoghurt ★★★★★ ()

прямой шитый код

этот компилятор прямым кодом шит
оптимизирует схемовый гигиенический щыт

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

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

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

Emacs Lisp - самобытный язык

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

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

День-два не маловато будет?

Для освоения читайте документацию стандартную, там все есть, достаточно подробно с примерами.

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

его техническая отсталось как языка общего назначения

Elisp не является языком общего назначения.

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

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

Да и R мы получили именно таким путем (там вроде писали-писали свою систему алгебры по сикпу, а оно взяло и переросло в Р).

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

Через день-два? Ну попробуй вот здесь посмотреть: http://docs.racket-lang.org/

Потом можешь-таки почитать сикп и хтдп.

бтв, это не ты ли неделю назад хотел руби осилить? вот и осиливай, racket на близких расстояниях тоже покажется не слишком готовым для реальных задач) Придется свои велосипеды городить-городить. Хотя вот, к примеру, у него есть приличный ffi, многопоточность, слегка запутанный, но вменяемый i/o и т. д. Но учи лучше руби.

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

Elisp не является языком общего назначения.

Бинго!

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

От руби отказались все же в пользу тикля (не помню писал или нет об этом), все же решили полностью делать tcl на стороне клиент и tcl+go на стороне сервера :). По ракету - для себя интересно поковырять.

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

Бинго!

Ага, как будто это я повесил на язык сей ярлык. Ты такой забавный ^_^

yoghurt ★★★★★ ()

Какие в нем есть фишки, отсутствующие в других реализациях Scheme?

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