
Alister
13.06.2018
11:27:35
вы пойдете по основной статье, когда начнут охоту на хаскелистов

Vadim
13.06.2018
11:27:40
вот была бы вакансия "питонист, жаждущий перебраться на Хаскель" - я б пошел)

Alister
13.06.2018
11:27:42
а мы как шатающиеся

Aleksey
13.06.2018
11:28:07

Google

Dmitry
13.06.2018
11:29:58

Alister
13.06.2018
11:29:59

Ilya
13.06.2018
11:30:36
Так, туплю. Хочу написать такой вот инстанс
instance Functor a => Functor (e -> a) where
fmap = undefined
--fmap f a = \e -> fmap f (a e)
ghc справедливо ругается на кайнды. Я понимаю, почему он ругается, но не понимаю, как здесь написать правильно.

Aleksey
13.06.2018
11:31:30
У (e -> a) кайнд *
А функтору нужно * -> *

Ilya
13.06.2018
11:31:58
это понятно

Aleksey
13.06.2018
11:31:58
(это я покапитанствовал)

Ilya
13.06.2018
11:32:05
такое ощущение, что здесь нужны лямбды или композиция на тайплевеле

A64m
13.06.2018
11:33:03
(->) e ? Только оверлап будет

Ilya
13.06.2018
11:33:49

A64m
13.06.2018
11:34:01
а, точно, да тут без ньютайпа никак

Yuriy
13.06.2018
11:36:42
кстати, мы снова ищем хаскелиста, чтобы писать на Хаскеле программы, которые пишут на С. резюме слать мне или @icrbow

Ilya
13.06.2018
11:37:31

Google

Василий
13.06.2018
11:37:36
Я тут mtproto обкатываю, поднял прокси для телеги, если кому нужно tg://proxy?server=185.205.210.186&port=443&secret=28903022c71ae67961d00ecacea6e0de

A64m
13.06.2018
11:38:29
ну порядок аргументов без ньютайпа не развернуть, так что оверлапа-то как раз не будет

Simon
13.06.2018
11:41:43

Yuriy
13.06.2018
11:42:31

Dmitry
13.06.2018
11:42:34
Што

Yuriy
13.06.2018
11:43:01
на русский переведите, пожалуйста

Евгений
13.06.2018
11:43:32

Simon
13.06.2018
11:44:01
Отдел будущих технологий, где еще каспер ОС пилят

kana
13.06.2018
11:58:36
он как есть уже

Ilya
13.06.2018
11:59:42

kana
13.06.2018
11:59:44
ну то есть не он сам, но он есть потому что частично примененная стрелка - функтор, и если a - мапабельный, то можно просто мапать
так зачем его писать через ньютайпы?

Ilya
13.06.2018
12:00:14

kana
13.06.2018
12:00:14
f :: a -> Maybe a

Ilya
13.06.2018
12:00:26

kana
13.06.2018
12:00:34
так он УЖЕ есть

Ilya
13.06.2018
12:01:14

kana
13.06.2018
12:02:00
где? без скринов можно?
f :: Int -> Maybe Int
f = Just
g, h :: Int -> Maybe String
g = fmap show . f
h = fmap (fmap show) f

Google

kana
13.06.2018
12:02:50
он же Compose
t = getCompose . fmap show . Compose $ f
Compose это как раз твой Fun, только еще стрелка обобщена до функтора

Ilya
13.06.2018
12:04:58
значит надо transformers поставить, спасибо

kana
13.06.2018
12:05:31
Compose в base есть
ридер-инстанс стрелки тоже в base

IC
13.06.2018
12:13:56
а потом они ругаются на "монады это пайпы"...
https://github.com/theam/tintin/pull/17#discussion_r190178211

Ilya
13.06.2018
12:17:25
а за хугл кто отвечает вообще? там уже пару месяцев куча ссылок нерабочие
например https://www.haskell.org/hoogle/?q=Compose

Aleksey
13.06.2018
12:18:05
hoogle-сервис всегда был ниочень. Hayoo лучче

A64m
13.06.2018
12:18:23
хугл сам уже несколько лет нерабочий

Ilya
13.06.2018
12:19:27

Aleksey
13.06.2018
12:20:05
"Ссылки нерабочие", это "hackage не отвечает"?

Ilya
13.06.2018
12:20:20
нет, это
Page not found
Sorry, it's just not here.

Anton
13.06.2018
12:20:29
Я чтот разбился о то, что time-1.9 умеет парсить таймзоны в формате HH:MM, а time-1.8 не умеет. А переехать на time-1.9 нельзя, т.к. на 1.9 не переехало 90% пакетов зависимостей

IC
13.06.2018
12:20:49

Anton
13.06.2018
12:21:04
Там этого нет, и это в обратную сторону работает, если тебе нужны старые функции, а не новые

Aleksey
13.06.2018
12:21:09

IC
13.06.2018
12:21:19
future-time-compat ?

Anton
13.06.2018
12:21:31
Вот, боль

Google

Anton
13.06.2018
12:21:45
Время велосипеды строить

Aleksey
13.06.2018
12:21:49

Ilya
13.06.2018
12:21:58

Aleksey
13.06.2018
12:22:31
ркн?

Ilya
13.06.2018
12:22:41
нет

Anatolii
13.06.2018
12:22:53
какой-то плагин может в браузере?

Ilya
13.06.2018
12:23:10
вот эти ссылки у тебя работают, да? три штуки
у меня выдают вот что

Aleksey
13.06.2018
12:24:14
https://hackage.haskell.org/package/transformers-0.5.5.0/docs/Data-Functor-Compose.html#t:Compose
404
Это не хугла проблема, а хакеджа

Ilya
13.06.2018
12:27:44
то бишь вот эту, и она рабочая http://hackage.haskell.org/package/base-4.11.1.0/docs/Data-Functor-Compose.html
а вот это нерабочая, которую хугл и hayoo выдают http://hackage.haskell.org/package/transformers-0.5.5.0/docs/Data-Functor-Compose.html

A64m
13.06.2018
12:29:47
есть старый хугл который ищет по каким-то старым базам, есть новый хугл по другому адресу, который ищет по большему числу более новых пакетов, но поиск в нем сломан. есть новый хугл на стекедже, который в конкретных снэпшотах ищет (тоже поиск сломан, но на имена его хватит)
тл;др хугл не работает

Yuriy
13.06.2018
12:42:13

Google

Евгений
13.06.2018
12:42:54

A64m
13.06.2018
12:45:07
можно, но он будет по именам искать, в новом хугле поиск по типам сломан
ну, можно собрать старую версию, наверное

Евгений
13.06.2018
12:49:25
Is it a feature?

A64m
13.06.2018
12:54:29
ну, когда автор делал новый хугл, он начал с того чтоб побыстрее базы формировались и грузились - и это он сделал, он вообще быстрее и переваривает большое кол-во пакетов
но к тому времени как дошло до поиска по типам, он подустал и в результате он не сделан нормально

Ilya
13.06.2018
12:55:06
>подустал
а так не скажешь, что 30 лет комьюнити

A64m
13.06.2018
12:58:43
короче говоря вот старый
https://www.haskell.org/hoogle/?hoogle=%28a+-%3E+b%29+-%3E+f+a+-%3E+f+b
вот новый
https://hoogle.haskell.org/?hoogle=(a%20-%3E%20b)%20-%3E%20f%20a%20-%3E%20f%20b
разницу сами можете оценить
можно так, чтоб честнее было https://hoogle.haskell.org/?hoogle=%28a+-%3E+b%29+-%3E+f+a+-%3E+f+b&scope=package%3Abase

Слава
13.06.2018
13:01:35

A64m
13.06.2018
13:03:33
т.е. поиск по типам, прямо скажем, никогда в хугле нормально не работал, но то что выдает новый хугл - даже по хугловским стандартам очень плохо

Aleksey
13.06.2018
13:06:16
А что вы называете поиском по типам? Что-то особенное? По обычным типам ищет вроде да хоть тот же hayoo: http://hayoo.fh-wedel.de/?query=Traversable+t+%3D%3E+t+a+-%3E+a

Ilya
13.06.2018
13:06:20
Вопрос в продолжение темы. Можно ли как-нибудь дерайвнуть/вывести Functor, Applicative для ньюйтайпа, сделав "как в Compose", не определяя его явно через Compose? @A64m_qb0 @kana_sama
Просто не хочется портить типы, но хочется воспользоваться instance (Functor f, Functor g) => Functor Compose f g

A64m
13.06.2018
13:07:09

Aleksey
13.06.2018
13:07:17
https://www.haskell.org/hoogle/?hoogle=Eq+a+%3D%3E+%5Ba%5D+-%3E+%5Ba%5D
Вот такое ищет более-менее. Или оно ломается?

A64m
13.06.2018
13:08:32