LINUX.ORG.RU

Darcs 2.10.2

 , ,


1

8

Вышла новая версия распределённой системы контроля версий Darcs. От других похожих систем Darcs отличает реализация алгебры патчей, значительно упрощающей разрешение конфликтов между ветками и при синхронизации репозитариев.

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

  • Оптимизация потребления памяти командой patch apply.
  • При работе в Windows больше не используется mmap.
  • Обновлены подсказки.
  • Исправлены недочёты в пакете тестов.
  • Исправлен баг в команде darcs test.
  • Вновь возможна сборка на платформе PowerPC.

Darcs написан на языке программирования Haskell и распространяется под лицензией GPL.

Страница проекта

>>> Анонс релиза

★★★★★

Проверено: Shaman007 ()
Последнее исправление: hateyoufeel (всего исправлений: 1)

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

Facebook, J.P. Morgan, Kaspersky. Трёх с тебя хватит.

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

я так и предполагал

А мог бы и что-то полезное написать.

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

Вот зачем сюда писать сообщения о том, что вам что-то кажется?

Если облажался по полной, то типа, мне только казалось? Если облажался не по полной, то типа, умную мысль высказал?

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

зачем сюда писать сообщения о том, что вам что-то кажется?

Затем, чтобы знающие больше, могли указать мне на мою ошибку. Это, разве, не общеизвестно?

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

Денис Шевченко провел опыт, доказав обратное. С ним хорошее интервью есть «подкаст 6» вроде.

Что же касается ситнаксиса, то в Хаскел меньше всего «шума». И да, оператора присваивания - нет ))

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

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

И да, оператора присваивания - нет ))

В монаде есть вроде <-, или как ?

А так да, нету. Ну так за это и боролись :)

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

Я имею в виду чистоту кода. Нет лишних конструкций, символов, скобочек. Пишут и на нем, что ломаешь зенки и мозг. Как Вы заметили, можно прийти к решению разными способами =) «Сахар» завезли и в него, что реально упростило жизнь таким нюбам, как я.

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

Ладно, освою хаскель к пенсии, тогда и поговорим. :) Лет 15 у меня еще есть.

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

Вы говорите какме-то очевидные вещи, я немного в курсе. А где Вам удается применять Ваши знания? Just for fun? Меня как-то звали программировать на Эрганге за деньги, и два-три таких места в Москве я знаю. Но вот чтобы хаскель... Пока он находится в категории «приветствуются другие знания» в описаниях вакансий.

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

Мне в жизни повезло программировать «Just for fun», а не за еду. Вообще не могу рутину. Пока продвинулся дальше Hello world (medium задачи на codeeval). Читаю Пола Хьюдака, изучаю математику (так как закончил вечернюю школу). Вот понравился очень курс http://www.mathnet.ru/conf664. Теперь ищу похожее о графах. Вообще всё, что связано с ПК - хобби ) Ну приносит деньги, ну и ладно ;)

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

Хороший курс, для тех кого от Карри не клинит, а от Клини не каррит :) Можно еще почитать Барендрегта http://inis.jinr.ru/sl/vol2/Mathematics/Мат.логика/Барендрегт,_Ламбда-исчисле...

Ну и Роджерса, что-ли — http://inis.jinr.ru/sl/vol1/CMC/Роджерс,_Теория_рекурсивных_функций_и_эффекти...

Ну о графах так, что б похожее — это вряд ли. Графы — это все-таки иллюстративный инструмент. Поищите что-то про графовые грамматики. Кое что есть у того же Филда-Харрисона

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

Занятно.. Видать вакансии уже заполнены, раз на hh их нет. Ну пойду хаскель доучивать, не все ж «99 problems» копать :)

Кстати, человек, звавший меня писать на Эрланге заявил мне, что он бы не рискнул пускать ленивый язык в продакшн (там шла речь об обработке транзакций от чего-то похожего на платежные терминалы, задача детерминированная и почти реального времени)

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

Видать вакансии уже заполнены, раз на hh их нет.

Их там вроде как и не было.

он бы не рискнул пускать ленивый язык в продакшн (там шла речь об обработке транзакций от чего-то похожего на платежные терминалы, задача детерминированная и почти реального времени)

А причём тут ленивость?

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

Их там вроде как и не было.

Вроде Positive Technology все публикует на ха-хе. Ну значит не там искал. Про эрланг же пишут ;) Видать хаскелистов совсем мало, что приходится к ним в песочницу специально ходить :)

А причём тут ленивость?

Как я понимаю,в детерминированности вычислительного процесса по памяти и времени. Нет гарантии завершения процедуры за указанное время и вообще не очень понятно, когда что выполняется. Долго мы не обсуждали это дело, да и не пошел я туда трудится, были другие предложения. Опять же, это не мое мнение.

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

А причём тут ленивость?

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

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

Эээ, нет. А память да, жрет. Но и тут можно указывать где нужно -«строго».

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

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

Это не имеет отношения к ленивости. Интерпретатор тут тоже не нужен. Кстати, необходимость таскать виртуальную машину для эрланга его не смущала?

если я правильно понимаю реализацию ленивых вычислений на практике

Нет, не понимаешь. Срочно читай https://wiki.haskell.org/Thunk

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

Не знаю кто такой интерпретатор ленивых функций, но в ghc-HEAD уже strict extension завезли. Правда не уверен, что это прям много где нужно, кроме числодробилок

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

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

А вот дальше — вопрос, насколько графы, идущие на вход STG, подвергаются модификации. Как я понял, подвергаются, да не совсем.

Читаем здесь

https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/GeneratedCode

И видим, что исполняющая система все равно содержит некий «интерпретатор шитого кода».

Я был неправ в том, что полагал, что компиллятор оставляет ленивый вызов в виде графа, а «разбор» графа, выполняет уже в процессе исполнения программы. Что же, на деле мы имеем более глубокий разбор графа, и его замену некоторым «шитым кодом» (чем-то это напоминает форт, хотя там все проще). Спасибо, научили.

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

Ну я не вижу противоречий своим словам. Код преобразуется во внутреннее представление (в данном случае граф специального вида), а исполняющая система содержит в себе интрепретатор этого графа.

Нет. STG - внутреннее представление кода в компиляторе. На выход идёт бинарник (ну или llvm-байткод, а потом уже бинарник).

И видим, что исполняющая система все равно содержит некий «интерпретатор шитого кода».

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

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

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

И да и нет.

Байт-код отсутствует напрочь, и в этом смысле интерпретировать действительно нечего, потому как язык уже разобран, и да, интепретатор есть в том смысле, что есть некоторая исполняющая система, которая строит все эти стек-фреймы и замыкания и пытается свести все это дело «к числу». Кстати, не во всех случаях получается.

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

интепретатор есть в том смысле, что есть некоторая исполняющая система, которая строит все эти стек-фреймы и замыкания и пытается свести все это дело «к числу»

Это не интерпретатор. Это называется рантаймом, и он есть у очень большого количества языков.

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

Именно так, традиционный перевод run-time = исполняющая система языка. Вопрос в ее объеме и степени интеллектуальности. Как бы трудно оценить объем потребного стека для вычисления какого-либо выражения.

Может именно то, что по виду функции «сразу не скажешь», сколько ресурсов потребуется для ее «редукции к числу» и смутило моего коллегу в ленивых вычислениях.

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

На здоровье! Особенно — душевное, берегите его. Основания математики многим дались непросто :)

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

Именно так, традиционный перевод run-time = исполняющая система языка.

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

сколько ресурсов потребуется для ее «редукции к числу»

Что это значит? В любом случае, в других языках та же самая проблема, и именно для этого существуют профайлеры.

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

Ну, как челвек, в отношении которого даже Луговской перестал материться, оставляю Ваш наезд про «бредни» без ответа :)

Пока мне не ясна «глубина» разбора графа представления ленивой функции. Сдается мне, что thunk — это все-таки информация о том, что надо вычислить, а не последовательность кода, его вычисляющего. А вот где тут грань — я еще не понял.Как пойму — продолжим разговор. Собственно интерпретировать можно не только синтаксическое дерево или байт-код. Можно и какое-то другое представление.

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