
Ilya
29.06.2018
13:39:30

Alexander
29.06.2018
13:41:39
у нас есть (a,b) сколько тут элементов типа b?
неужели 2?
а размер тупля меняется если мы first-ом меняем тип первого значения?

Google

Alexander
29.06.2018
13:42:54
ну и как обычно, все инстансы которые могут быть написаны - должны быть написаны
есть конечно и минус при рефакторинга можно неожиданно для себя не тот код получить

Pineapple
29.06.2018
13:45:45
Просто туплю иногда воспринимают как data Pair a = (a, a)

Ilya
29.06.2018
13:47:11
Приходится выбирать, как инстансы писать сразу, а какие только с ньютайпами

Alexander
29.06.2018
13:51:34
так лучше?
для тупля нету другого варианта

Ilya
29.06.2018
13:52:24

Alexander
29.06.2018
13:53:28
а запретить туплю и использовать вместо нее Writer - это кажется не менее странным чем инстанс для тупли

Yuriy
29.06.2018
13:53:34

Alexander
29.06.2018
13:53:49

Google

Yuriy
29.06.2018
13:54:19
потому что пара не похожа на что-то перечислимое

Alexander
29.06.2018
13:54:25
почему?

Pineapple
29.06.2018
13:54:38
maximum ("blaj", 1)?

Yuriy
29.06.2018
13:54:39
мой здравый смысл подсказывает
мой мозг не видит в этом смысла

Pineapple
29.06.2018
13:55:01
Нельзя слишком сильно полагаться на здравый смысл

Alexander
29.06.2018
13:55:09
а хаскель то тут при чем?

Yuriy
29.06.2018
13:55:20
если в этом нет смысла, это нельзя компилировать. иначе получается яваскрипт

Alexander
29.06.2018
13:55:26
Foldable это о входящих переменных тип a
полагайся на математику и законы
она лучше чем мозг

Yuriy
29.06.2018
13:55:58

Alexander
29.06.2018
13:56:23
ты ещё скажи что Identity перечислить нельзя?

Yuriy
29.06.2018
13:56:24

Alexander
29.06.2018
13:56:46
Tuple это не пара

Pineapple
29.06.2018
13:56:49
Там одноэлементное множество

Alexander
29.06.2018
13:56:53
Tuple это контейнер

Pineapple
29.06.2018
13:57:06
С точки зрения фолдабля

Alexander
29.06.2018
13:57:15
я не знаю зачем твой мозг даёт ложные переводы и аналогии и обманывает теб

Google

Yuriy
29.06.2018
13:57:32

Alexander
29.06.2018
13:57:51
что такое пара?
и что такое контейнер

Pineapple
29.06.2018
13:58:13
А яваскрипт получается, если использовать кучу эвристик противоречащих друг другу

Alexander
29.06.2018
13:58:20
по мне пара это data Pair a = P a a
и это контейнер

Yuriy
29.06.2018
13:58:28
контейнер — что-то содержащее что-то другое

Pineapple
29.06.2018
13:58:30

Alexander
29.06.2018
13:58:48
полиморфная переменная типа есть?

Yuriy
29.06.2018
13:58:48

Alexander
29.06.2018
13:58:52
ее и содержит
ну это контейнер

Pineapple
29.06.2018
13:58:58
В стандартной библиотеке нету

Alexander
29.06.2018
13:59:28
причем даже Proxy это контейнер

Pineapple
29.06.2018
13:59:32
То есть тупля ничего не содержит?

Alexander
29.06.2018
13:59:43
хотя в Proxy полей нет

Yuriy
29.06.2018
13:59:50
не знаю, почему ты защищаешь свой язык, разрешающий писать плохой код

Alexander
29.06.2018
14:00:27
потому что я нахожу то, что ты хочешь нелогичным
и непоследовательным

Pineapple
29.06.2018
14:01:48
Поведение фолдабла в случае тупли совершенно логично, но с непривычки неинтуитивно

Google

Yuriy
29.06.2018
14:01:49
ты мыслишь низко, в терминах хаскельных конкструкторов и тайпклассов, а я про понятия, которые они призваны реализовать, но реализуют плохо

kana
29.06.2018
14:03:09
потому что я нахожу то, что ты хочешь нелогичным
нужно уточнить, чем ты считаешь хаскель для себя (и язык программирования в принципе)
Для меня, например, не важно, чтобы все инстансы были написано, наоборот, я бы хотел, чтобы хоть и верных, но опасных инстаснов не было, чтобы я СЛУЧАЙНО не допустил ошибку, потому что для меня компилятор - средство помощи. А если они нужны - имплиситно взять их через ньютайп

Ilya
29.06.2018
14:06:50

kana
29.06.2018
14:07:13
instance (a, b) where
null _ = True
fold _ = mempty

Yuriy
29.06.2018
14:09:30
@qnikst spam ^

Hot
29.06.2018
14:11:21
Это что, спам-бот, который спамит через бота?

Ilya
29.06.2018
14:11:51

Admin
ERROR: S client not available

Yuriy
29.06.2018
14:12:00
@icrbow spam ^^^^

kana
29.06.2018
14:14:01

A64m
29.06.2018
14:14:31
нужно уточнить, чем ты считаешь хаскель для себя (и язык программирования в принципе)
Для меня, например, не важно, чтобы все инстансы были написано, наоборот, я бы хотел, чтобы хоть и верных, но опасных инстаснов не было, чтобы я СЛУЧАЙНО не допустил ошибку, потому что для меня компилятор - средство помощи. А если они нужны - имплиситно взять их через ньютайп
опасных - это каких?

Pineapple
29.06.2018
14:23:22

Yuriy
29.06.2018
14:24:13

A64m
29.06.2018
14:25:10
ну т.е. они реализуют "что-то, помеченное чем-то", и инстансы заходят в банку, и не трогают ее этикетку

Alexander
29.06.2018
14:26:32

Google

Alexander
29.06.2018
14:27:36
негодный инстанс, почему он работает не так как остальные?
почему он ломает мой траверсабл?

kana
29.06.2018
14:27:53
в смысле не так, что значит "так"
он работает
и выполняет законы

Alexander
29.06.2018
14:28:35
такой инстанс можно для любого типа написать
поведение фолдаблов всех, такое что они производят операции на всех значениях самого внешнего параметра типов
почему инстанс для тупла должен быть особенным я не очень понимаю

Yuriy
29.06.2018
14:31:07

Alexander
29.06.2018
14:31:30
это же логично!

kana
29.06.2018
14:32:02

Alexander
29.06.2018
14:32:05
в общем, я понимаю почему наличие инстанса для тупля может привести к проблемам при рефакторинге

kana
29.06.2018
14:32:09
они просто взяли один из многих инстансов

Yuriy
29.06.2018
14:32:10

kana
29.06.2018
14:32:12
по своему желанию

A64m
29.06.2018
14:32:26
про этот тупл надо на собеседованиях спрашивать

Alexander
29.06.2018
14:32:49
я вот написал почему он такой, и и list и tuple и любой тип в эту логику укладывает
даже дефолтный дерайвинг укладывается
пытаться доказать что он плохой и нужен тривиальный инстанс это какая-то форма глупости
есть ли проблемы с инстансом - есть
лучше бы было если бы его не было - нет