LINUX.ORG.RU

Haskell


0

0

Приветствую!

Пожалуйста, посоветуйте толковую книгу по этому языку (рус/англ).
Кое-чему научился. Но увы, такая ситуация,
что простым вещам, которые полагается знать сразу, обучился,
просматривая несколько источников. К примеру, читая книгу YAHT,
где по началу всё вроде просто, не нашёл в начале конструкций
типа where или такая шикарная вещь как
f = [x| x<-[1..10],x < 5] не объяснена сразу.

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

Буду безумно благодарен.


Cобственно, я именно по YAHT и учил. RWH, вроде, вполне хорош. По-русски есть, считай, только Душкин, который пишет очень плохо, не бери.

Miguel ★★★★★ ()

1. Doets, Eijck — очень приятная книжка, показывающая высоту языка и
близость его нотации к естественной, а так же то, как эти свойства
обеспечивают максимально точное изображение разных концепций на
Haskell. Хорошо бы её читать на первом курсе. Однако при этом
собственно содержание языка рассказывается как бы между делом. Хоть и
воспринимается всё естественно, раскрыты не все средства, и полностью
научиться применять все возможности Хаскеля с этой книгой не
получится. Делается упор на другое: умение думать. Поэтому, очень
ценная книга.

2. Hutton — имхо очень хорошее введение в язык и особенности
функционального подхода вообще. Чёткое изложение и по делу! Конкретно
твоим непоняткам посвящена глава 10.

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

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

Real World Haskell

Если рассуждать логически, то книга «Real World Haskell» должна начинаться как-то так:

% sudo aptitude purge ghc
% sudo aptitude install sun-java6-jdk
a3 ()

А в чем, собственно, проблема? В том, что необязательные конструкции не вываливают на читателя с порога? Так это правильно, незачем забивать голову синтксическим сахаром. В хаскеле не языковые конструкции представляют интерес.

А так, плюсую rwh.

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

Похоже, я единственный, кому learnyouahaskell не понравилось.

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

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

f x = x * x
или
f = \x -> x *x
На глаза попадается вот такой пример:
showTime :: Int -> Int -> String
showTime hours minutes
	| hours == 0	= "12" ++ ":" ++ showMin ++ " am"
	| hours <= 11	= (show hours) ++ ":" ++ showMin ++ " am"
	| hours == 12	= (show hours) ++ ":" ++ showMin ++ " pm"
	| otherwise 	= (show (hours - 12)) ++ ":" ++ showMin ++ " pm"
	where
	showMin
		| minutes < 10	= "0" ++ show minutes
		| otherwise		= show minutes

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

И есть ли эта самая книга RWH онлайн?

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

>Похоже, я единственный, кому learnyouahaskell не понравилось.

Мне не понравился. Какой-то мутный текст на фоне нелепых картинок. Да и содержание ИМХО не очень последовательное.

Waterlaz ★★★★ ()

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

Например то что я писал вначале изучения Хаскелля и через год после этого - это небо и земля.

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