
Alister
27.12.2017
13:16:21
еще одна интересная задачка
Перед самыми выборами Президента США 7 ноября 2000 года хакеры, взломав сайт с официальной информацией о процедуре выборов, указали там, что голосование ввиду чрезмерного количества изъявивших участвовать в них избирателей будет проходить в два этапа. Догадайтесь, какую процедуру голосования предложили доверчивым выборщикам явно настроенные в пользу республиканцев хакеры.

Leonid
27.12.2017
13:17:06

Index
27.12.2017
13:17:12
@catamorphism Учти, что l в результате это тоже input, а не output в type family

Google

Index
27.12.2017
13:17:34
Если у тебя BlaBla и Verb method code ctypes a разных кайндов, то тут и оверлаппинга даже нет

Richter
27.12.2017
13:17:38

Index
27.12.2017
13:17:45
Потому что оно будет по l диспатчиться

Leonid
27.12.2017
13:17:56

Denis
27.12.2017
13:18:12
они тут одного кайнда

Alister
27.12.2017
13:18:24
нет сорь я гей
там вроде льготные возможности для геев на получение визы в США(именно из России)

Leonid
27.12.2017
13:18:32
уж LGBTQ++ то точно нужно из рашки валить

Alister
27.12.2017
13:18:49

A64m
27.12.2017
13:19:04

Alexander
27.12.2017
13:19:45

Denis
27.12.2017
13:20:31
а кто-то предлагал кстати сделать :kind!!

Alexander
27.12.2017
13:20:35
так поглядеть чтоли гист..
/me поглядел, сходу непонял, почему не работает

Google

Index
27.12.2017
13:21:42
@catamorphism У меня редьюсится всё

Alexander
27.12.2017
13:21:52
там наверное в реальности сложнее все

A64m
27.12.2017
13:21:57
выглядит нормально

Index
27.12.2017
13:22:03
{-# LANGUAGE TypeFamilies, TypeInType, EmptyDataDecls #-}
data Verb method code ctypes a
data GlavRyba
type family Schematized' (req :: Maybe q) (api :: k) :: Bool where
Schematized' 'Nothing (Verb method code ctypes GlavRyba) = 'True
Schematized' 'Nothing (Verb method code ctypes a) = 'False
ghci> :kind! Schematized' 'Nothing (Verb () () () GlavRyba)
Schematized' 'Nothing (Verb () () () GlavRyba) :: Bool
= 'True
ghci> :kind! Schematized' 'Nothing (Verb () () () ())
Schematized' 'Nothing (Verb () () () ()) :: Bool
= 'False

Alexander
27.12.2017
13:22:05
там при особой форме blabla может нередьюситься вроде
блин как сесть и работать
или ночью поработать

Denis
27.12.2017
13:23:09
Blabla там :: T -> Type
тьфу, Type он там
короче не вижу как это суть меняет

Index
27.12.2017
13:24:15
Никак не меняет
ghci> :kind! (Schematized' 'Nothing (Verb () () () GlavRyba) :: Type)
(Schematized' 'Nothing (Verb () () () GlavRyba) :: Type) :: *
= Int
ghci> :kind! (Schematized' 'Nothing (Verb () () () ()) :: Type)
(Schematized' 'Nothing (Verb () () () ()) :: Type) :: *
= Bool
в Type тоже редьюсится

? animufag ?
27.12.2017
13:24:21

Denis
27.12.2017
13:25:18
ну я тащемта такие же манипуляции проделал в ghci и ничего не понял
когда пытаюсь в большой программе юзать, там все идет не так, но это уже не маленький гист, а большая программа

Index
27.12.2017
13:26:40
Что тут сказать, для больших программ можно и DCH нанять (jk)

Denis
27.12.2017
13:27:26
Dah Chong Hong Conglomerate company?

Index
27.12.2017
13:27:43
Ага

Alexander
27.12.2017
13:27:44
dirty cheap haskell

Index
27.12.2017
13:27:48
Вот эти ребята https://dirtcheaphaskell.io/

Google

Denis
27.12.2017
13:27:57
а, видел

Index
27.12.2017
13:28:26

Donat
27.12.2017
13:29:20
воу, вот это вы демпингуете

Index
27.12.2017
13:31:10
а зачем больше тратить на кастомизированный StackOverflow?

Denis
27.12.2017
13:31:53
хаха
ну как всегда
я полдня думал что я сумасшедший, а проблема не там была -_-
впрочем как решать - хз

Anton
27.12.2017
13:33:43
@int_index а дописывание фич в GHC присутствует в прейскуранте?

Index
27.12.2017
13:34:25
я конечно могу отличить type family от data family, но еще не Эйзенберг

Anton
27.12.2017
13:34:45
принижаешься

Index
27.12.2017
13:34:55
У меня самого несколько Trac тикетов, которые я больше года жду.

Index
27.12.2017
13:35:10
Весь research мне портят
И вообще про дописывание, это же консалтинг, а не аутсорсинг

Anton
27.12.2017
13:35:41
эх, на разраба в GHC мы бы наверняка накраудфандили

A64m
27.12.2017
13:36:46
фичи разной квалификации требуют (но DH точно придется @int_index дописывать, Эйзенбергу это не надо уже)

Denis
27.12.2017
13:36:49
я кстати со Стефани Вайрих говорил на эту тему

Index
27.12.2017
13:36:56
на разраба GHC еще можно, а вот чтобы он добавлял те фичи, которые НАРОД хочет, это вряд ли, потому что он будет в конкретном наборе тем в лучшем случае разбираться (GHC же гигантский)

Anton
27.12.2017
13:37:24
да даже закрытие багов уже супер будет

Denis
27.12.2017
13:37:24
про dependent haskell вообще анрил что-то сделать, в т.ч. краудфандить, т.к. там разработчиков не отвязать от неё и ричарда

Google

Anton
27.12.2017
13:38:05
я бы на оптимизацию скорости компиляции даже вложился

Denis
27.12.2017
13:38:32
я кстати тоже
я вообще подумывал на что-то такое вакансию запилить

A64m
27.12.2017
13:38:57
там, я думаю, особо для повышения скорости компиляции не сделать ничего

Index
27.12.2017
13:38:57
Вы что, ребята, вот на один из моих тикетов есть уже фикс, а его не мерджат, потому что это трехкратное снижение скорости компиляции

Denis
27.12.2017
13:39:15
т.к. помимо работы которую просто надо делать, потому что надо, есть еще куча всего, от чего бомбит

Index
27.12.2017
13:39:29
Была бы толерантность к многодневной компиляции, был бы и фикс уже в HEAD

Denis
27.12.2017
13:39:35
мы еще им денег дадим, лол
у меня уже никакой толерантности

Anton
27.12.2017
13:40:15

Admin
ERROR: S client not available

Index
27.12.2017
13:40:26

Denis
27.12.2017
13:40:38
в одном симплифаере только ад и израиль

A64m
27.12.2017
13:40:50

Index
27.12.2017
13:41:12
Фиксить GHC это работа мечты, на самом деле, можно ведь своими же фиксами в следующем релизе и пользоваться

Denis
27.12.2017
13:41:50

A64m
27.12.2017
13:42:02
ГХЦ это такое адище, что насчет работы мечты я сильно сомневаюсь

Denis
27.12.2017
13:42:10

Index
27.12.2017
13:42:12
Да там прикольно, я читал исходники.

Google

Index
27.12.2017
13:42:43
То есть там нельзя сказать, что хороший или понятный код, или к поддержке пригодный. Вот "прикольно" правильное слово.
Заходишь туда как в цирк и развлекаешься, а там еще эти [NOTE]
которые объясняют, почему тот или иной трюк смешной

A64m
27.12.2017
13:43:12

Denis
27.12.2017
13:43:16
я бы сказал что исходники GHC это очень нишевое чтиво

Index
27.12.2017
13:44:19
Там очень много вещей сделано криво, потому что надо research реализовывать поскорее и ship it

Denis
27.12.2017
13:44:44
не понял
Ну там то коэрсы взрываются экспоненциально, то реврайты. Думаю что если только откровенные баги починить, то скорости компиляции пойдет строго в плюс.

Anton
27.12.2017
13:44:51
Дык поэтому оплачиваемый человек, который это всё вычищает, очень актуальный

Index
27.12.2017
13:44:51
А потом практические юз-кейсы вылезают и надо всё подпирать костылями
> Думаю что если только откровенные баги починить, то скорости компиляции пойдет строго в плюс.
Я только что выше написал, что починка major бага, который я репортил, ухудшает производительность троекратно.
wishful thinking про то, что корректность и перформанс идут нога в ногу
чтобы решение было корректным, о нем нужно рассуждать легко, а это обычно верно для тривиальных и непроизводительных алгоритмов

Anton
27.12.2017
13:46:25

Denis
27.12.2017
13:46:34

Index
27.12.2017
13:46:40
ну Эйзенберг его сделал, а сейчас его в Well-Typed передали переделывать

Denis
27.12.2017
13:46:50
очевидимо, что если не делать ненужной работы, то медленнее вряд ли станет

Index
27.12.2017
13:47:19
ну это ты потребление памяти сокращаешь, а так-то coercions нужны в основном для -dcore-lint, и нет разницы, что они большие

Denis
27.12.2017
13:47:33
в общем я готов на такую вакансию, пинайте после нг

A64m
27.12.2017
13:47:44
если что-то гдето по памяти/времени взрывается, это не значит, что где-то "очевидный баг", там многое имеет сложность такую, но просто предполагается что для обычных кейсов работает (если повезет) более-менее за разумное время/память

Index
27.12.2017
13:48:06
Потому что я пытался в GHC контрибьютить и это мрак
В этом чате найдешь может пару человек способных, но я их не знаю

Denis
27.12.2017
13:49:14