LINUX.ORG.RU

Racket 8.0

 , ,


0

4

Вышла новая мажорная версия языка программирования Racket, основанного на Scheme и нацеленного на создание пользователем собственных DSL.

  • Завершён переход на среду исполнения Chez Scheme — таким образом удалось уменьшить объём генерируемого кода на величину от 10 до 30%, а также значительно ускорить выполнение программ и повысить эффективность.
  • Переписан движок среды тестирования программ.

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

★★★

Проверено: atsym ()

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

Для чего нужен этот Racket?

Для того, чтобы экспериментировать с упражнениями из HtDP, ну или из SICP.

Есть примеры реального использования?

Хорошо подходит для изучения Scheme.

Стоил ли его изучать?

Для общего кругозора потыкать можно.

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

Для чего нужен этот Racket? Есть примеры реального использования? Стоил ли его изучать?

Я на нём писал сайт для управления шлюзом через tc, внутриорганизационный чат, всякие скрипты.

Можно считать заменой питона, но с кроссплатформенным GUI (Win/Mac/Linux GTK) и большей скоростью работы. Правда готовых библиотек поменьше, чем на питоне. Зато есть возможность раздавать пользователям бинарники.

Также язык позволяет очень хорошо разделять работу между несколькими программистами. Контракты на границе модуля однозначно показывают, в чьём модуле ошибка.

В нём есть уникальная библиотека для Web-сайтов, позволяющая прозрачно передавать контекст между функциями: к ссылке или кнопке привязываешь не URL, а просто вызов функции или замыкания. Или можно в коде сделать запрос данных, который откроет пользователю новую страничку HTML, подождёт ввода результата и вернёт этот результат, как если бы это было обычное модальное окно.

И, так как это лисп, то традиционно на нём очень удобно писать всякие DSL.

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

Условия все одинаковые, кроме толщины, скажем температура комнаты 20, температура чая 80, фарфор. Вопрос, через 10 минут, если воспользоваться градусником, какой чай будет прохладнее?

papin-aziat ★★★★ ()
Ответ на: комментарий от rustamych

Это какой суицидный пипец. Вот точно больше никогда. Так видимо и помру непросвещенным. :)

Никак нет. Музыка умерла уже давно, небольшая оказалась наука, 300 лет хватило. Вся эта современная (атональность, кластеры и тд) хрень никакая не музыка в нашем стиле развития (мелодия в ладу). Да, есть эксперименты с выращиванием детей на атональной музыке, и они типа потом тональную не ощущают гармоничной, но в масштабе человечества этого не будет.

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

А была какая?

Своя была. На базе GNU Lightning. Но так как LGPL не устроила, то перешли на Chez. Теперь «Racket is distributed under the MIT license and the Apache version 2.0 license, at your option.».

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

Одинаково. Я инженер.

Зависит не от толщины стенок, а от площади верхней поверхности (в смысле дырки сверху) чашки.

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

Мне тоже кажется примерно одинаково, но тонкая стенка, кажется, победит, ведь она быстрее охлаждается, то есть быстрее передает тепло чая в атмосферу, а толстая быстрее охладит чай в пределах своей толщины, а потом все процессы будут проходить медленнее.

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

Это тонкий намек на то что ЛОР уже не торт. Остались идиоты и клоуны. Я, например, профессиональный дед мороз.

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

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

Толщина стенок добавит больше неопределенности из-за влияния разных свойств стенки. Чем тоньше, тем предсказуемее результат.

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

Именно. Даже monk, большой любитель таких лиспов, на нём только одну программу написал.

???

Во-первых, как минимум, три. Во-вторых, ещё полдюжины библиотек на гитхабе.

monk ★★★★★ ()

Логотип пепсикольный мне нравится

Вы не то обсуждаете, какую то муру, вы про язык пишите: зашёл / не зашёл, а то я вам бошки попроламываю :)

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

Да еще окружающая среда обычно неоднородная

Ладно, а если вообразить так, то что быстрее теряет тепло, если между водой 80 градусов и воздухом 20 градусов фарфоровые стенки, одна тонкая, другая толще в три раза?

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

То есть чашка закрытая и висит в воздухе в равномерной фарфоровой оболочке?

Тогда зависит от того, подвижен ли воздух. Если подвижен, то внешний край фарфора будет 20 градусов, потери тепла обратно пропорциональны толщине стенки. Ели неподвижен, то теплопроводность воздуха намного меньше теплопроводности фарфора и именно она будет определять скорость остывания.

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

Хорошо.

Просто я даже в этой теме сообщал: Я на нём писал сайт для управления шлюзом через tc, внутриорганизационный чат, всякие скрипты.

Кстати, ещё сайт для службы поддержки писал (заявки, учёт материалов).

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

Так Racket и есть схемка. Только с библиотеками.

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

другая толще в три раза

Толщина стенки 3-мерной фигуры слишком неопределенным образом влияет на площадь поверхности. В сколько раз измениться площадь поверхности сферы (цилиндра) при изменении линейных размеров с 0 до 10, c 10 до 20(10+10), со 100 до 110, с бесконечности до бесконечности+10?

Нелинейность только по одному параметру. И не известно, сколько еще параметров влияет на результат: теплопроводность стенки, чая; свойства окружающей среды: конвекция, гравитация (ускорение); и тд и тп. Эта многопараметрическая поверхность может иметь много разных перегибов, складок и тд.

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

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

потери тепла обратно пропорциональны толщине стенки

Значит интуиция не обманывает, чем толще, тем дольше держит тепло?

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

Кароче, надо узнать точный ответ, задать вопрос Знатокам, и таким образом гарантированно срубить бабла.

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

А ещё в нём есть нормальный переносимый GUI.

Последний раз когда пробовал гуй заметно подтормаживал, сейчас стало лучше?

anonymous ()

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

Поздравляю всех любителей и причастных. Long life, lisp!

small-entropy ()
Ответ на: комментарий от papin-aziat

толще, тем дольше держит тепло?

Только если предварительно кружку нагреть. И остывать будет кружка об чай, а не чай об кружку. (Вот и решай эту нелинейную задачу, где не известно, что чего охлаждает). Кстати, у поваров есть фишка - греть посуду перед раскладыванием/подачей.

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

Последний раз когда пробовал гуй заметно подтормаживал, сейчас стало лучше?

Сам гуй там никогда не тормозил. Относительно тормозил DrRacket, если ему разрешать фоновую компиляцию. Но там компиляция тормозила, а не графика. Eclipse намного сильнее тормозит.

В остальном тормозит не больше чем GTK. То есть тормоза определяются тем, что накидаешь в обработчики обновления отрисовки. С учётом того, что потоки Racket абсолютно безопасны и дёшевы, то правильно написать не тормозящую программу (запускающую потоки из обработчиков ГИПа) достаточно легко.

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

Хотя неправ. Был период, когда сильно тормозила прокрутка текста на GTK3. Лечилось запуском «export PLT_GTK2 drracket». Вроде починили. Именно в текущей не смотрел.

monk ★★★★★ ()

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

Уже догнал sbcl или хотя бы ccl?

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

Может вы и правы. Я вот как-то сразу и не скажу современных композиторов, которых можно слушать. Слушаю все старую классику. Экспериментальная музыка типа той-же Губайдуллиной кусочками можно в озвучку фильмов (ужасов :)) использовать, но вот просто так сесть и слушать, это садомазо. В области гитары тоже есть новаторы, типа Лео Брауэра. Я честно пытался сыграть пару вещей. Ну никак, просто ступор. Больше и не пытаюсь. :)

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

Как самый образованный скажу, что потерь тепла через воздух при атм. давлении не очень велики. Главные механизмы - испарение и излучение.

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

Есть простой однозначный ответ?

Чем толще стенка, тем больше масса (и теплоемкость) кружки. Так как у фарфора теплопроводность намного выше, чем у воздуха (даже с учетом конвекции), то чай быстро остынет об кружку. Как пример, охлаждение чая путем переливания из кружки в кружку. Потом будет охлаждаться система (кружка+чай) об воздух

Ответ (на не тот вопрос): для сохранения горячего чая перед тем, как налить, надо прогреть кружку (пустую).

Однозначно! (с) Жириновский

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

Я говорил про другие условия. Условия внешние - температура воздуха вокруг, температура чая, наличие и материал стола. Затем есть игра на материале чашки. Тут сразу не скажешь. Я попытался интуитивно дать ответ, но понял, что не все так просто. Даже захотелось просчитать эту ситуацию. Тут проблема вот в чем. Если задача вычислить температуру смеси, то это одна задача и надо знать теплоемкости и массу веществ. Вы же хотите узнать время остывания. Вот тут уже играет роль теплопроводность, то, что я назвал перенос тепла. А этот процесс нелинейный и интуиция уже не работает. Нельзя сказать, что увеличили массу вдвое и время увеличилось вдвое. Еще момент такой. Вы говорите градусник. Изменения могут быть совсем незначительные, но они явно будут. Наличие стола может и не играть роль, а может и сыграть. Например чашка из латуни и стол из латуни. Тепло быстро проскочит чашку и охладителем станет целый стол. Если стол деревянный, то он тепло проводит очень плохо и получается другая ситуация. Можно проще поступить - просто поставить эксперимент. Но что то мне подсказывает, что если чашка из керамики и стол деревянный, то охладится быстрее тонкая, но разница будет мала. Запишу задачку себе в блокнот. Руки дойдут сделаю вычисления для простейшей ситуации.

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

то охладится быстрее тонкая

Толстая, т.к. тепло передается от более нагретого тела к более холодному и чем больше масса кружки тем больше энергии на ее нагрев. Нужно связать отношение масс кружки и жидкости. Налей в кувшин и срзау получишь ответ.

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

Как то случайно нарисовался у меня scheme. Решил на время карантина освоить пакет TexMacs для работы с техом. Я лично пользуюсь Texstudio и Texmaker. TexMacs в отличие от них wysiwyg пакет. Как-то стало интересно чего там происходит. Ну и увлекся. Пакет оказался удобный в работе. Пишешь и видишь без компиляции. Фонты все теховские. Но мне нужен в конце все таки латех файл, поэтому важен конвертер. Ну вот тут и засада. Я думал, что как в латехе просто задать, то что хочешь в преамбуле и ву а ля. Но оказалось, что TexMacs написан на scheme и что либо сделать без знания scheme просто невозможно. Мне помогли на форуме с некоторыми проблемами, но осадок, что я не понимаю, что они мне пишут остался. После недолгого чтения стал кое-что понимать, но вот увлекся самим языком. Что меня поразило в самом начале это как делаются простые операции типа сумма или умножение. Идеология записи, например, суммы (+ 3 4) меня лично сильно удивила, а потом и функции без имени. На данном этапе для лучшего понимания попробую написать программку вычисления интеграла трапециями.

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

Не надо путать язык с его конкретной реализацией. Common Lisp как реализация не стоит дальнейшего развития. У него с модулями проблема, у него много с чем проблемы. Легаси-проектов много, язык сам по-себе тоже скорее жив, чем мертв. А вот данную конкретную реализацию стоит закапывать.

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

чай … из холодильника

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

(так он дольше хранится)

Говорять, чай надо хранить сухой и в герметичной посуде.

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

Именно! Чай уже приготовлен к распитию, важно не дать ему нагреться, так как холодненький вкуснее

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