
Nikita
19.02.2017
19:33:20
и как взаимосвязанно

Kit
19.02.2017
19:33:57
кажется мы отклонились от темы чата

Nikita
19.02.2017
19:35:06
а какие книги, курсы посоветуете для изучения хаскел?
http://haskellbook.com

Google

Alex
19.02.2017
19:35:32

Nikita
19.02.2017
19:35:35
я это читаю сейчас

Alex
19.02.2017
19:36:35
хаскельбук еще

? animufag ?
19.02.2017
19:43:16
что скажете про хаскельбук? кстати не думаю что вы тратили 60$ :)

Ilya
19.02.2017
19:44:40

Тёма
19.02.2017
19:44:46
Мне нравится. Читаю сейчас. Особенно интересны "follow up resources" в конце каждой из глав.

Ilya
19.02.2017
19:44:47
Или какой-то другой

Тёма
19.02.2017
19:44:54
haskellbook.com поди

? animufag ?
19.02.2017
19:44:58
http://haskellbook.com

Ilya
19.02.2017
19:45:21
А, понятно

Тёма
19.02.2017
19:46:29
У меня вот это вызвало озарение, помнится.
http://www.haskellforall.com/2014/10/how-to-desugar-haskell-code.html#type-classes
А я не покупал

Google

Тёма
19.02.2017
19:47:00
Дочитаю –– скажу точно, но пока стоит определенно.

? animufag ?
19.02.2017
19:48:13
ну так то на самом деле думаю 60$ здесь оценка труда авторов, нежели ценность для потребителей.
как там с заданиями

Quet
19.02.2017
19:48:46
а ценность для потребителей как в деньгах посчитать? )

? animufag ?
19.02.2017
19:49:47
ну сколько человек готов отдать.

Тёма
19.02.2017
19:49:52
Количественно много, качественно –– пока не могу сказать, потому что 1200 страниц ещё не осилил.

Quet
19.02.2017
19:50:19

Serghei
19.02.2017
19:51:14

Dmitry
19.02.2017
19:51:49
вот крутая книга: http://dev.stephendiehl.com/fun/
жалко что пока не до конца написанная

Serghei
19.02.2017
19:52:11
только мне интересно стало вот, а в Haskell сушествует возможность лямбде вызвать самой себя рекурсивно или это я щас маразм спросил

? animufag ?
19.02.2017
19:52:30
лень в общем рассуждать. ну в общем они загнули с ценой для технической литературы, но и разхайпили тоже так неплохо. мб это со стороны рф только кажется, что много, а на американском рынке они и правда в самый раз выжимают

Тёма
19.02.2017
19:52:30

Quet
19.02.2017
19:52:44

Dmitry
19.02.2017
19:52:57
последние коммиты в октябре

Serghei
19.02.2017
19:52:58
до комбинаторов я еще не дошел

Dmitry
19.02.2017
19:53:09
но и то что есть, довольно круто

Quet
19.02.2017
19:53:15
не совсем забил

Тёма
19.02.2017
19:58:34
до комбинаторов я еще не дошел
https://rosettacode.org/wiki/Y_combinator#Haskell
Вот так это делают, если интересно. Я попробовал накидать наивную реализацию и понял, что не всё так просто. :)

Ilya
19.02.2017
20:00:30
Y комбинатор
Или это не ответ на исходный вопрос, или я чего-то не знаю про fix

Google

Ilya
19.02.2017
20:03:35
Как я понял вопрос:
В клаузах мы можем писать nat = 1 : map (+1) nat
Как эквивалент такой конструкции для лямбда функций? То есть как сослаться в теле лямбда-функции на неё саму?
Я думаю, что ответ "никак", так как лямбда-функция анонимна, но могу ошибаться

Kit
19.02.2017
20:05:53
а разве в haskell не все функции лямбды?

? animufag ?
19.02.2017
20:12:30
примеры приводят на лиспе или джс. Ну или на нотации черча скорее

Тёма
19.02.2017
20:22:03
Проблема в рекурсивном определении типов.
Мой покорёженный лиспом мозг страдает

Serghei
19.02.2017
20:30:16
а есть в хаскеле встроеные средства для получения уникальных членов списка? предположим однотипных
например [[1,1,1,1],[1,1,2],[1,1,2],[1,1,2],[2,2]] => [[1,1,1,1],[1,1,2],[2,2]]
что-то гуглю гуглю, все не то
не хочу писать функцию

Dmitry
19.02.2017
20:30:50
nub ?

? animufag ?
19.02.2017
20:31:03
Нужен бот для hoogle)

Dmitry
19.02.2017
20:31:14
Set.toList . Set.fromList
?

Serghei
19.02.2017
20:31:31
o!
nub
спс

Dmitry
19.02.2017
20:31:43
nub что-то типа квадратичный, но сохраняет порядок

Kit
19.02.2017
20:32:15

? animufag ?
19.02.2017
20:32:44
Есть такой но не работает опять

Google

? animufag ?
19.02.2017
20:33:43
Сейчас снова вылезет @goodmind и включит

andretshurotshka?❄️кде
19.02.2017
20:34:38
?

Ilya
19.02.2017
20:35:38

Dmitry
19.02.2017
20:35:56
как-то так.

Ilya
19.02.2017
20:54:07
а есть в хаскеле встроеные средства для получения уникальных членов списка? предположим однотипных
например [[1,1,1,1],[1,1,2],[1,1,2],[1,1,2],[2,2]] => [[1,1,1,1],[1,1,2],[2,2]]
что-то гуглю гуглю, все не то
мой вариант map head . group . sort

Kit
19.02.2017
20:55:11

Ilya
19.02.2017
20:55:57
ну как и это
Set.toList . Set.fromList
?
а nub шире, ему достаточно Eq, но он квадратичный

Kit
19.02.2017
20:56:22
а есть в хаскеле встроеные средства для получения уникальных членов списка? предположим однотипных
например [[1,1,1,1],[1,1,2],[1,1,2],[1,1,2],[2,2]] => [[1,1,1,1],[1,1,2],[2,2]]
что-то гуглю гуглю, все не то
В Haskell нельзя в список запихнуть разные типы

Dmitry
19.02.2017
20:57:20
как вы пишите на х-ле без контейнеров?

Ilya
19.02.2017
20:57:33

Kit
19.02.2017
20:57:39

Dmitry
19.02.2017
20:57:56
@newrlan можно

Kit
19.02.2017
20:58:05

Dmitry
19.02.2017
20:59:07
https://wiki.haskell.org/Heterogenous_collections
да например
но не уверен, что это единственный способ, есть еще всякое кунфу на типах, тут есть умельцы

Google

Ilya
19.02.2017
21:00:25
А с этим я вообще не знаком :)
ну по названию функций должно быть очевидно, по-моему =) Set это множество, оно по определению из уникальных элементов состоит

Kit
19.02.2017
21:00:43
При беглом просмотре это чит с созданием общего типа.

Dmitry
19.02.2017
21:02:13
экзистенциальные типы нет
ну и вообще - что значит "чит"
если тайпчек проходит, значит ок

Kit
19.02.2017
21:03:14
Ну тип то все равно один у всех элементов списка
После тайпчека
И здесь уж точно сложно будет ввести Ord

Dmitry
19.02.2017
21:04:25
ну прочитайте уже про экзистенциальные типы
там все написано. и про Ord и про прочее.

Ilya
19.02.2017
21:04:44
у нас с типами всё ок было
а есть в хаскеле встроеные средства для получения уникальных членов списка? предположим однотипных
например [[1,1,1,1],[1,1,2],[1,1,2],[1,1,2],[2,2]] => [[1,1,1,1],[1,1,2],[2,2]]
что-то гуглю гуглю, все не то
здесь всё одного типа

Kit
19.02.2017
21:06:01
а есть в хаскеле встроеные средства для получения уникальных членов списка? предположим однотипных
например [[1,1,1,1],[1,1,2],[1,1,2],[1,1,2],[2,2]] => [[1,1,1,1],[1,1,2],[2,2]]
что-то гуглю гуглю, все не то
Здесь в формулировке подразумевается что список может быть из элементов разного типа создан, неявно.

Ilya
19.02.2017
21:06:21
а, пропустил слово "однотипных"
понял:)
Насчёт телеграм-бота
Может лучше портировать GHC (или какой-нибудь другой компилятор, полегче) под android и iOS? Чтобы всегда иметь под рукой полноценный REPL. В Google Play ничего нет, только убогий клиент для http://tryhaskell.org/
Это сложно сделать?
Я вижу много преимуществ такого решения по сравнению с ботом, и ни одного недостатка
А на компе всё равно у всех есть ghc

Dmitry
19.02.2017
21:12:12
"другой компилятор" это hugs что ли? оно еще живо? давно никто не упоминал этого слова

Ilya
19.02.2017
21:12:31
ну я слышал, что их много:) но работал только с ghc