LINUX.ORG.RU

Вышел GNU Guile 2.0.7

 , , ,


1

3

Вышла новая версия реализации языка Scheme — GNU Guile 2.0.7. Несмотря на незначительное изменение номера версии, появились несколько интересных нововведений, а именно:

  • Полная поддержка инфиксных выражений (curly-infix-expressions). Теперь вместо (* a (+ b c)) можно писать {a * {b + c}}.
  • Поддержка разных опции чтения (read option) для разных портов.
  • Поддержка вложенных директив future.
  • Специальный синтаксис для добавления путей в переменные окружения GUILE_LOAD_PATH и GUILE_LOAD_COMPILED_PATH в конец списка путей, а не в начало.
  • Исправлен недочет в функции load-in-vicinity, которая не сканировала директории, установленные в переменной %load-compiled-path.
  • Исправлен порядок поиска расширений. Теперь Guile не изменяет для этого переменную окружения LD_LIBRARY_PATH.
  • Функция make-vtable-vtable помечена устаревшей, рекомендуется использовать make-vtable и <standard-vtable>.
  • Оптимизированы вызовы equal? и eqv? для случаев, когда один из аргументов — константа.
  • Новые предупреждения компилятора -Wduplicate-case-datum и -Wbad-case-datum.
  • Многочисленные незначительные улучшения и исправления ошибок.

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

★★★★★

Проверено: tazhate ()
Последнее исправление: maxcom (всего исправлений: 4)
Ответ на: комментарий от ugoday

Не кодеки, но некоторые переборы например, или средние вычисления нужны. Питон тут здорово выручает функциональным программированием, всяким кешированием + мемоизацией и библиотеками для вычислений.

Т.е. и скриптовня и скорость, если нужно.

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

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

Местечковые фанатики.

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

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

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

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

А вот разрабатывать весьма удобно инкрементально, хоть и тоже своих косяков хватает: например как пришибить конкретную специализацию generic'а я так и не нашел в SLIME'е. Например если была специализация :around, а потом все выродилось в :before. Не перезагружать же лисп-машину для этого? Лисперы, может подскажет кто?

Конкретная специализация generic называется method. Делаешь (apropos «method» nil t), и видишь, что тебе нужно

(remove-method (find-method ... '(:around ...) ...))

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

Где можно заплюсовать этого анонимуса?

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

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

Как что? А вежливое, интеллигентное, дружелюбное к новичкам коммьюнити?!?

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

CLOS как пачка OO-шных шаблонов из коробки.

Ну ведь определились же уже, что у CLOS нет ничего общего с ОО.

Да и нету CLOS в говносхемке.

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

Работа с кодом как с сериализованным деревом синтаксического разбора.

Модуль ast в Питоне - и хоть обуработайся. Только вот это все ненужно.

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

Чем лисповские макросы так сильно отличаются от макросов других языков?

Если макросы в Си и темплейты в C++ позволяют проткнуть себе ногу отверктой, то говнолисповские говномакросы позволяют (и поощряют) отстрелить ногу из базуки.

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

Нужно владеть веб-технологиями в первую очередь

Зачем? Пусть в какахах копаются ассенизаторы. Остальным-то зачем руки пачкать?

psikh
()

Полная поддержка инфиксных выражений (curly-infix-expressions). Теперь вместо (* a (+ b c)) можно писать {a * {b + c}}.

Ну наконец-то! Теперь хоть можно будет алгебраические выражения более менее по человечески записывать.

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

Ну это-то как раз вполне профессионально написано. Миллионы профессионалов из Бангалора, Ченнаи и Калькутты под таким кодом с гордостью подписались бы!

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

Только вот это все ненужно.

А это и имелось ввиду, если что.

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

То есть код - вид данных который также и все остально можно создвать, хранить и обрабатывать.

Любой код - это набор символов. Значит в любом языке, который может в обработку строк, возможна работа с кодом как с данными.

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

про SICP знаю. Думаю вообще, есть ли смысл учить на замену питону?

там cl, а не «скема»

С точки зрения синтаксиса разница между scheme и CL не настолько принципиальна для человека, собирающегося учить с нуля.

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

Зачем? Пусть в какахах копаются ассенизаторы. Остальным-то зачем руки пачкать?

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

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

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

Владение веб-разработкой каждому сейчас выгодно также как и письменностью и чтением лет 300-400 назад на мой взгляд

Да ну? Вот так вот каждый-каждый должен все это html-говно знать? Нет уж. Говном пусть занимается низкооплачиваемый, легкозаменяемый персонал. Остальным в этих каках копаться смысла нет.

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

У нас появился новый тролль, господа.

Да это старый, переквалифицировался только.

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

Да ну? Вот так вот каждый-каждый должен все это html-говно знать? Нет уж. Говном пусть занимается низкооплачиваемый, легкозаменяемый персонал. Остальным в этих каках копаться смысла нет.

Раньше, лет 5-10 назад так и было, теперь грамотные верстальщики нужны, знающие одновременно и верстку (далеко не только html, сейчас под версткой понимается, html + css и javascript, а html5 = html+css3+javascript) и серверное программирование (какой-либо фреймворк - пока в моде ruby on rails). Хочу тоже иметь оклады как у этих самых «ассенизаторов» (от 150тр на руки), или хотя бы банально чтобы не платить «ассенизаторам» и делать все как нужно мне - как я это понимаю.

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

теперь грамотные верстальщики нужны

Зачем? Это очень узенькая ниша. И без того перегретая. Работа для студентоты. Дешевка.

Хочу тоже иметь оклады как у этих самых «ассенизаторов»

Хреново же тебе живется.

или хотя бы банально чтобы не платить «ассенизаторам» и делать все как нужно мне

То есть, твое время стоит еще дешевле, чем время ассенизаторов? Бедненький!

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

оклады как у этих самых «ассенизаторов» (от 150тр на руки)

0_o.

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

С точки зрения синтаксиса разница между scheme и CL не настолько принципиальна для человека, собирающегося учить с нуля.

Разница не столько в синтаксе (котого всё равно кот наплакал во всех LISPах), а в семантике.

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

Верстальщик - это девочка второкурсница, которая получает макет от дизайнера и кодирует его ручками по 15 руб./штука. Девочка должна назубок знать косяки всех популярных браузеров и набор хаков для их обхода.

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

Сравнил компилятор и интерпретатор.

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

http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=sbcl&a...

Ты еще дал бы ссылку на «Комсомольскую Правду».

Тесты в этом shootout.alioth.debian.org - просто говнище.

Как можно вменяемо что-то тестировать, если:

* тесты выполняются доли секунды, и как следствите, у них просто чудовищная погрешность измерений

* программы часто не делают то, что требуется в задании (или так, как требуется в задании). В результате выигрывают только программы, затьюненные под конкретный тестовый пример, и которые при этом не съедят слегка измененный.

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

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

Если макросы в Си и темплейты в C++ позволяют проткнуть себе ногу отверктой, то говнолисповские говномакросы позволяют (и поощряют) отстрелить ногу из базуки [программисту на крестах].

Yours sincerely,
Captain Obvious
rtvd ★★★★★
()
Ответ на: комментарий от Sectoid

А вот разрабатывать весьма удобно инкрементально, хоть и тоже своих косяков хватает: например как пришибить конкретную специализацию generic'а я так и не нашел в SLIME'е.

slime-inspector

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

Хватит разговаривать с наркотиками анонимами.

Учетка в интернете тоже вещь достаточно анонимная, но все же лучше, чем просто анонимка.

dr_dobermann
()
Ответ на: а как запустить мелким рантайм? от anonymous

Hello world с racket/base - 8 метров. Если просто запустить racket с реплом - 22. Не знаю откуда у тебя там 80. Вообще можно сделать hello world на 100кб, если обрезать до '#%kernel, но это нетривиальные свистопляски и нинужно.

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

Питон тут здорово выручает

Тормоз ещё тот, если посмотреть правде в глаза.

и скриптовня и скорость, если нужно.

Guile разрабатывался как язык-клей если нужна скорость (а где она не нужна?) то тяжёлую часть можно выделить в модуль на C.

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

Модуль ast в Питоне - и хоть обуработайся. Только вот это все ненужно.

Если инструмент есть, но использовать его неудобно, значит инструмента нет.

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

Теперь хоть можно будет алгебраические выражения

Арифметические выражения.

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

Во-первых, ты смотришь на байткод, а он потом джитится все равно. Во-вторых, ты ж просто не понимаешь, о чем говоришь, например, те же циклы так и должны компилироваться, и никак иначе и ничего странного там нет. Ну и в-третьих - зачем тебе смотреть на компилированный код? Главное, что ты знаешь, что оно работает ну не медленнее того же SBCL. А уж как выглядит - дело десятое.

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

Ты ж указал тип number - то есть это генерик +, который потом диспатчится по конкретному тчисловому типы - флонумы, фикснумы, точные/неточные, комплексные, и т.п.

поменяй тип на index->fixnum.

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

Скорость у guile офигенно низкая

Вы на нём кодек что-ли писать собираетесь? Не стоит, guile --- для всякой скриптовни, где скорость не важна совершенно.

Питон тут здорово выручает

Тормоз ещё тот, если посмотреть правде в глаза.

Фанатики такие фанатики.

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

Но вообще, фигня эти лисповые макросы полная. Template haskell лучше.

TH - это просто продвинутый препроцессор, с точки зрения выразительности лисповые макры его значительно обходят.

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

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

Вы на нём кодек что-ли писать собираетесь? Не стоит, python --- для всякой скриптовни, где скорость не важна совершенно.

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

python --- для всякой скриптовни, где скорость не важна совершенно.

Согласен, в этом смысле у них полный паритет с guile.

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

Еще один пришел рассказывать, как luajit или еще какой йоба-мега-секретный-говнолисп всех тайно уделал, и был за это с шутаута выпилен вольными каменщиками?

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