@haskellru

Страница 1313 из 1551
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
код правильный, но он делает не то, что ты хочешь от него
валидный, но явно неправильный. нельзя взять максимум или длину от пары

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
Tuple это контейнер
ну, так можно рассматривать, но где тогда взять пару?

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
контейнер — что-то содержащее что-то другое

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

Yuriy
29.06.2018
13:58:48
по мне пара это data Pair a = P a a
да, только хочется разнородную

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
instance (a, b) where null _ = True fold _ = mempty
А всё потому что у фолдабла никаких Laws толком и нету

Admin
ERROR: S client not available

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



kana
29.06.2018
14:14:01
А всё потому что у фолдабла никаких Laws толком и нету
не, ну те законы, что есть, этот инстанс соблюдает

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
но это же логично!
а почему у List не такой?

это же логично!

kana
29.06.2018
14:32:02
а почему у List не такой?
потому что так захотели авторы инстанса

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

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

Yuriy
29.06.2018
14:32:10
а почему у List не такой?
плевать, такой или не такой. плевать на семантику. законы же выполняются

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

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

Alexander
29.06.2018
14:32:49
я вот написал почему он такой, и и list и tuple и любой тип в эту логику укладывает

даже дефолтный дерайвинг укладывается

пытаться доказать что он плохой и нужен тривиальный инстанс это какая-то форма глупости

есть ли проблемы с инстансом - есть

лучше бы было если бы его не было - нет

Страница 1313 из 1551