LINUX.ORG.RU

Сборник задач для изучающих Haskell

 ,


1

4

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

В связи с тем, что на работе я использую только C и C++, хотелось бы найти некоторое подобие задачника, чтобы на простых заданиях закрепить приобретённые при чтении знания.

Кто из знатоков может посоветовать сабж?

Книга крута - сам от нее балдею. В качестве задачника можно взять тот же sicp. Лично я еще решал задачки на codeforces.ru

kulti ★★
()

Project Euler, правда можешь наткнутся на то, что иммутабельность не очень эффективна в плане скорости. Да и задачки не совсем лёгкие.
Посмотри Шеня

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

впервые вижу человека, который советует читать душкина.

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

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

Кстати да, мне понравились вопросы, для изучающих самое то.

aptyp ★★★★
()

[slowpokemode]стоп... она на русском что ли? я думал, перевода этой книги нет[/slowpokemode]

BattleCoder ★★★★★
()

видел на рутрекере какую-то книжку по типу «этюды для программистов», наверное то, что вам нужно

BattleCoder ★★★★★
()

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

А у меня от этой штуки брат умер!

marvin_yorke ★★★
()

А что мешает взять задачник от учебника по любому другому языку и делать задачи на Хаскеле? Я в своё время решал задачник по Турбо Паскалю на Си, всё было нормально. Или тут есть какие-то хитрые особенности?

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

Значит я что-то напутал, Душкин в бложике о чем-то подобном писал. Вторая часть эссе о хаскеле.

quowah
()

Хех, как раз разбираюсь с erlang'om по чем-то похожей книжке. И тоже как-то люто-бешено доставляет.

AlexKiriukha ★★★★
()

Упражнения... нисать всякие поиски, сортировки, графы с алгоритмы, перемножения матриц, деревья разнообразные с балансировкой, парсеры с лексерами и автоматами.

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

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

jamy
()

Смысл в задачнике?

возьми да сам придумай задачи

если тупо с воображением, то бери олимпиадные задачи

и да, Душкина не читай

Антона Холомьёва бери

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

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

Но смысл? Ведь Хаскельль не предназначен для решения практических задач.

anonymous
()

найти некоторое подобие задачника

Реализуй факториал как минимум 20-ю способами. Потом подсчёт N-го числа Фибоначчи - тоже не менее чем 20-ю способами. Потом можешь приступать к более серьёзным вещам. Когда напишешь свой первый катаморфизм, по пути изучив теорию типов на уровне TaPL-а, скачиваешь и изучаешь любую хаскеллевскую библиотеку с первоклассными функторами и морфизмами, рекомендую category-extras или recursion-schemes. В качестве упражнения - переделать стандартную прелюдию, чтобы по крайней мере все рекурсивные схемы были выражены через комонады.

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

странно, мои практические задачи решает.

Если твоя практика состоит в вычислении факториалов и чисел Фибоначчи — мои соболезнования.

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

Если твоя практика состоит в вычислении факториалов и чисел Фибоначчи

не угадал. попробуй ещё!

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

Не я должен угадывать, а ты должен доказывать, что Хаскелль решает твои задачи эффективнее, чем любой другой язык. Так ведь можно и на Брейнфаке написать йобу и утверждать, что он практичен. А что? Тьюринг-полнота есть, что еще надо-то.

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

а ты должен доказывать

я тебе ничего не должен, анон.

Хаскелль решает твои задачи эффективнее, чем любой другой язык

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

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

я тебе ничего не должен, анон.

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

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

Доказывать, что на Хаскеле эта задача была более эффективно, чем на нормальном языке. Кстати, и что это за задача была?

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

Кстати, и что это за задача была?

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

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

задача была более эффективно, чем на нормальном языке

непонятно, что значит «более эффективно»:

  • объем кода сократился. меньше кода — меньше мест для косяков;
  • скорость работы возросла. ghc генерирует достаточно шустрый машинный код;
  • недостатка в библиотеках я не испытывал. либы есть практически на все случаи жизни;
  • недостатка в документации замечено не было;
  • есть довольно активное и приветливое сообщество разработчиков.

Подводя итог: писать на хаскелле мне понравилось; есть задачи, которые можно решать на нем достаточно продуктивно; у языка есть некоторые технические проблемы.

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

Реализуй факториал как минимум 20-ю способами.

Очередная шутка про факториал на Хаскелле? Это такое упражнение для развития остроумия — пошутить про Хаскелл и факториал 20-ю разными способами?

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