Забавно. А кроме Ваших книг и ПФП, есть нынче какие-нибудь ещё издания на русском о ФП в общем и Haskell в частности? Знаю ещё вроде книжку от ИНТУИТ'а, но не читал…
Хорошо. Возьму на заметку. «Сорта типов...» (: Непривычно несколько. Мне просто само слово kind нравится («по-доброму» звучит). Но это не важно. Я, кстати, тоже поступал на эту кафедру в МИФИ, но учиться решил всё же на матмехе в СПбГУ.
Спасибо. Постараюсь меньше ссылаться на очевидность, хотя не хочется писать слишком подробно — читатель может заскучать в сплошных выкладках и забыть о чем была речь.
Про ассоциативность композиции добавлю сноску, там на самом деле нужно сделать одну оговорку.
А про кайнд = сорт, Вам правда кажется, что так лучше? Есть ли какие-то прецеденты такого перевода в литературе? ")
И это не может не радовать.
На самом деле можно пытаться экстраполировать это всё на другие языки, но я не знаю хороших примеров. Ну вот, наверное, дженерики в Java – тоже функторы в некотором смысле. Но я в этом не силён… Ким писал на эту тему, но у него пост не публичный, если откроет – дам ссылку.
Если кто может провести хорошие аналогии – примеры в студию! ")
Рад, что Вам интересно.
Насчёт printf, если уметь пользоваться TH, то написать такой шаблон, преобразующийся в конкатенацию довольно просто. А в Text.Printf используется особая магия с классами типов, чтобы обеспечить переменное число аргументов — сам я не спец в этом, но разберусь на досуге, тоже интересная тема.
Собственно, пример с deriveShow вначале довольно нагляден в этом плане. Имеется только определение алгебраического типа и по нему автоматически генерируется instance. Функциями высшего порядка это не сделать — они могут оперировать другими функциями, поскольку функции — это значения (объекты первого класса, если угодно), а код не является объектом первого класса, поэтому для его представления значением и дальнейшего преобразования (генерации) нужны специальные структуры данных, описывающие AST. Простите, если запутанно написал…
В общем, к аргументу (см. последнее предложение) VoidEx +1 ")
Благодарствую Вам за эту замечательную статью! Оригинальным стилем изложения и прекрасным почерком Вы меня вдохновили и сегодня я купил такой же (не deppa, а beewin, но совершенно такой же на вид). И очень доволен. Сравнил в магазине с Wacom Bamboo и JustMobile AluPen (которые втрое дороже) и к моему удивлению, этот оказался удобнее, по крайней мере по первому впечатлению ")
Круто! Развитая система кеймапов (на первый взгляд) очень радует — можно без особых проблем перенести свои кастомные вимовские кеймапы. Стандартные же почти все есть. Хотя отсутствие visual-bloack-mode как -то напрягло — но ведь не всё сразу, правда? ")
В общем я очень доволен! Если проект будет развиваться, то выйдет офигенный редактор.
Про ассоциативность композиции добавлю сноску, там на самом деле нужно сделать одну оговорку.
А про кайнд = сорт, Вам правда кажется, что так лучше? Есть ли какие-то прецеденты такого перевода в литературе? ")
На самом деле можно пытаться экстраполировать это всё на другие языки, но я не знаю хороших примеров. Ну вот, наверное, дженерики в Java – тоже функторы в некотором смысле. Но я в этом не силён… Ким писал на эту тему, но у него пост не публичный, если откроет – дам ссылку.
Если кто может провести хорошие аналогии – примеры в студию! ")
«Держа всё это в голове, как же может выглядеть iTV?» – что это??
Насчёт printf, если уметь пользоваться TH, то написать такой шаблон, преобразующийся в конкатенацию довольно просто. А в Text.Printf используется особая магия с классами типов, чтобы обеспечить переменное число аргументов — сам я не спец в этом, но разберусь на досуге, тоже интересная тема.
В общем, к аргументу (см. последнее предложение) VoidEx +1 ")
В общем я очень доволен! Если проект будет развиваться, то выйдет офигенный редактор.