Size: a a a

2020 May 27

к

кана in haskell_blah
не понял
источник

AV

Alexander Vershilov in haskell_blah
Ну или я не понял куда ответ
источник

к

кана in haskell_blah
ну то есть если для каждой функции qwe будет по два определения
type QweCaps = ...
qwe :: QweCaps => ...
qwe = ...
то это самый настоящий бойлерплейт
источник

YS

Yan Shkurinskiy in haskell_blah
кана
1. да, я считаю что выносить констрейнты в алиас не нужно
2. но если выносить, то называть алиас не по имени функции, потому что иначе из-за нейминга между алиасом и функцией соответствие один к одному, и тогда не ясно зачем этот алиас, если можно прям в функции и написать констрейнты
3. если добавиться некая функция f, которая будет иметь те же констрейнты, то скорее всего их лучше скопировать, потому что совпание алиасов может быть случайно
4. сейчас алиас выглядит не как констейнты, нужные для обновления статуса, а как ВСЕ констрейнты, нужные для функции апдейта, из-за нейминга
5. если эта функция f будет использовать этот алиас, то если вдруг changeWorkerStatus вдруг затребует лишний констрейнт (например Show), то из-за нейминга будет мысль, что добавлять этот констрейнт нужно в алиас.
6. но для f этот Show будет не нужен
7. значит очевидно Show констрейнт должен быть в самой функции changeWorker, а не в алиасе
8. значит и алиас нужно назвать иначе, чтобы не было ложного соответствия
1. обсуждаемо, ничего не скажу
2. затем, что есть другие функции, в которых она вызывается, следовательно, в вызывающих должны быть ровно те же констрейнты, и, если в вызывающей функции видно в констрейнтах ChangeWorkerStatusCaps, то значит в ней вызывается функция changeWorkerStatus
3. Если будет та же функция с абсолютно теми же констрейнтами - я заведу отдельный алиас) (Т.к. врядли такая будет, они часто уникальны). Это и в будущем избавит меня от головняка, в том смысле, что я могу их менять независимо (констрейнты)
4. Вроде именно так и выглядит - все констрейнты, нужные для обновления статуса
5. Не будет использовать, см. 3
6. см. 3
7. -
8. -
источник

АГ

Александр Гранин... in haskell_blah
Чо-чо? CEO Chatroulette подписался на меня в Твиттере? А это точно тот CEO того Chatroulette? И почему у него так мало подписчиков?
источник

к

кана in haskell_blah
это потому что в хаскеле нет типа typeOf
источник

АГ

Александр Гранин... in haskell_blah
источник

к

кана in haskell_blah
x :: Int
x = 2

y :: typeOf x
y = x
источник

YS

Yan Shkurinskiy in haskell_blah
кана
это потому что в хаскеле нет типа typeOf
это мне?
источник

YS

Yan Shkurinskiy in haskell_blah
А, ну я не думал об этом)
источник

АГ

Александр Гранин... in haskell_blah
Похоже и правда CEO, но неясно все же
источник

АГ

Александр Гранин... in haskell_blah
А еще они там Тони Морриса наняли
источник

АГ

Александр Гранин... in haskell_blah
Гм, странные дела, конечн
источник

YS

Yan Shkurinskiy in haskell_blah
Может и тебя схантят)
источник

АГ

Александр Гранин... in haskell_blah
Ну у меня не особо много желания в ЧатРулетке работать
источник

YS

Yan Shkurinskiy in haskell_blah
Почему?
источник

АГ

Александр Гранин... in haskell_blah
Да вот не уверен, что там есть интересные задачи. Разве что фильтрация какая-нибудь
источник

АГ

Александр Гранин... in haskell_blah
К самой чат рулетке отношусь нейтрально
источник

YS

Yan Shkurinskiy in haskell_blah
кана
ну то есть если для каждой функции qwe будет по два определения
type QweCaps = ...
qwe :: QweCaps => ...
qwe = ...
то это самый настоящий бойлерплейт
по поводу бойлерплейта - да, ничего не скажу, это моя плата за то, что мне кажется правильным) (на текущий момент)
источник

АГ

Александр Гранин... in haskell_blah
Yan Shkurinskiy
по поводу бойлерплейта - да, ничего не скажу, это моя плата за то, что мне кажется правильным) (на текущий момент)
Все мы страдаем за то, что считаем правильным
источник