Как наткнулся на туториал по хаскелю, загорелся желанием его освоить.
Нарешал кучу высосанных из пальца счетных задачек, в том числе с project euler, для изучения и запоминания синтаксиса.
Отменный калькулятор! Просто нет слов
Какое бы написать "real world application", чтобы библиотеки освоить?
Re: Что бы написать на Haskell для освоения языка?
Помоему писать real world application не освоив монады и преобразователи монад -- заранее обрекать себя на насилие над собой и языком с огромным кол-вом строк в императивном стиле внутри IO монады и с мини-вставками в функциональном стиле. Напишите систему контроля изменений файловой системы с отчетами по выявлению негодяя, испортившего тот или иной конфиг и возможностью отката до любого предыдущего состояния.
Я, когда осваивал haskell, писал мини-игры, сейчас без слёз не могу на тот код смотреть: после рифакторинга код сокращается в 5-10 раз, куча функций из стандартной библиотеки переписанных самостоятельно, давление процедурного програмирования, кривые таскания огромных структур данных через функции, громоздкие и ненужные обработчики ошибок через исключения, там где Maybe сделает все коротко и красиво. Где можно было быстро красиво и понятно обойтись Writer'ами, [], Maybe, State и преобразователями их, громоздкие глазоломательные монстроподобные блоки хардкодинга... Ужас вобщем.
Re[2]: Что бы написать на Haskell для освоения языка?
Здравствуйте, <Аноним>, Вы писали:
А> после рифакторинга код сокращается в 5-10 раз
ну и сделал бы статью — показал примеры до и после рефакторинга. объяснил что да как.
кстати какие игры делал?
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Re[2]: Что бы написать на Haskell для освоения языка?
Здравствуйте, Zert, Вы писали:
Z>Распределённую систему вычислений, например.
распределённый спам-фильтр
...coding for chaos...
Re[3]: Что бы написать на Haskell для освоения языка?
От:
Аноним
Дата:
30.09.09 10:13
Оценка:
Здравствуйте, neFormal, Вы писали:
F>распределённый спам-фильтр
Могу написать простенький фильтр с использованием Байеса.
Есть затык небольшой — мне доступно 3 компьютера всего
Не шибко большая распределенная система, но для прототипа сгодится.
Re[2]: Что бы написать на Haskell для освоения языка?
От:
Аноним
Дата:
30.09.09 10:31
Оценка:
Здравствуйте, Аноним, Вы писали: А>Помоему писать real world application не освоив монады и преобразователи монад -- заранее обрекать себя на насилие над собой и языком с огромным кол-вом строк в императивном стиле внутри IO монады и с мини-вставками в функциональном стиле.
Хорошо, буду налегать на монады.
А>Напишите систему контроля изменений файловой системы с отчетами по выявлению негодяя, испортившего тот или иной конфиг и возможностью отката до любого предыдущего состояния.
Для выявления, какой пользователь и какая программа, совершила обращение к файлу, без написания драйвера не обойтись. Есть прецеденты использования Haskell для системных утилит?
Re[3]: Что бы написать на Haskell для освоения языка?
Здравствуйте, Аноним, Вы писали:
А>Какое бы написать "real world application", чтобы библиотеки освоить?
какие именно? советую писать нахаскеле алгоритмически сложные вещи, системные утилиты (в широком смысле, вплоть до трейдинговой плаnформы или поисковика)
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: Что бы написать на Haskell для освоения языка?
От:
Аноним
Дата:
30.09.09 15:40
Оценка:
А>>Какое бы написать "real world application", чтобы библиотеки освоить?
BZ>какие именно? советую писать нахаскеле алгоритмически сложные вещи, системные утилиты (в широком смысле, вплоть до трейдинговой плаnформы или поисковика)
Трейдинговая платформа, интересно... Как я понял, сделать ее надо так, чтобы торговала сама, а не просто являлась терминалом, вроде метатрейдера у заманухи с форексами?
Re: Что бы написать на Haskell для освоения языка?
Здравствуйте, Аноним, Вы писали:
А>Всем здрасти!
А>Какое бы написать "real world application", чтобы библиотеки освоить?
Зачем сразу риал ворлд? Находиш в Сети любой опен-сорс проект на хаскеле, заходиш на его багтрекер, выбираеш понравившийся баг\фичереквест и исправляеш\реализуеш.
Re[2]: Что бы написать на Haskell для освоения языка?
Здравствуйте, SolVolkov, Вы писали:
SV>Здравствуйте, Аноним, Вы писали:
А>>Всем здрасти!
А>>Какое бы написать "real world application", чтобы библиотеки освоить?
SV>Зачем сразу риал ворлд? Находиш в Сети любой опен-сорс проект на хаскеле, заходиш на его багтрекер, выбираеш понравившийся баг\фичереквест и исправляеш\реализуеш.
+1, но только за "реализуешь". Сначала надо самоу что-то написать, чем у других править.
Не стыдно попасть в дерьмо, стыдно в нём остаться!