Aliester
я вот думаю стоит ли ливать в США, или все же куда-то в англоязычные далекие земли типа Новой Зеландии или Австралии
Leonid 🦇
возьму паттерны точёные, срублю тайп фемели оверлапчёные
Denis
λeonid yes please
Vladislav
Насколько я понимаю, нет разницы между kind variable и type variable в паттерн-матчинге семей типов.
Евгений
по одному
Ты понимаешь, что облажался в условиях?
2, 3, 5 — простые, они могут быть только произведениями 1 на самих себя. Это уже четыре числа. А 4 из них не получить
Alexander
никто не говорил, что числа целые
Alexander
вроде
Alexander
(но меняет ли это дело, мне пока не очевидно)
Alexander
ну в смысле с нецелыми я сходу решения не нашёл
Alexander
так то понятно, что меняет
Denis
https://gist.github.com/dredozubov/282331b9473a6879598434c6618943d7 вот чего-то вроде этого есть(там еще другие клоузы, поэтому существует первый аргумент), но оно нифига не редьюсится нормально вторым клоузом
Aliester
еще одна интересная задачка
Aliester
Перед самыми выборами Президента США 7 ноября 2000 года хакеры, взломав сайт с официальной информацией о процедуре выборов, указали там, что голосование ввиду чрезмерного количества изъявивших участвовать в них избирателей будет проходить в два этапа. Догадайтесь, какую процедуру голосования предложили доверчивым выборщикам явно настроенные в пользу республиканцев хакеры.
Leonid 🦇
Vladislav
@catamorphism Учти, что l в результате это тоже input, а не output в type family
Vladislav
Если у тебя BlaBla и Verb method code ctypes a разных кайндов, то тут и оверлаппинга даже нет
Anonymous
Vladislav
Потому что оно будет по l диспатчиться
Denis
они тут одного кайнда
Aliester
нет сорь я гей
там вроде льготные возможности для геев на получение визы в США(именно из России)
Leonid 🦇
уж LGBTQ++ то точно нужно из рашки валить
Aliester
Alexander
Denis
а кто-то предлагал кстати сделать :kind!!
Alexander
так поглядеть чтоли гист..
Alexander
/me поглядел, сходу непонял, почему не работает
Vladislav
@catamorphism У меня редьюсится всё
Alexander
там наверное в реальности сложнее все
A64m
выглядит нормально
Vladislav
{-# 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
там при особой форме blabla может нередьюситься вроде
Alexander
блин как сесть и работать
Alexander
или ночью поработать
Denis
Blabla там :: T -> Type
Denis
тьфу, Type он там
Denis
короче не вижу как это суть меняет
Vladislav
Никак не меняет
ghci> :kind! (Schematized' 'Nothing (Verb () () () GlavRyba) :: Type)
(Schematized' 'Nothing (Verb () () () GlavRyba) :: Type) :: *
= Int
ghci> :kind! (Schematized' 'Nothing (Verb () () () ()) :: Type)
(Schematized' 'Nothing (Verb () () () ()) :: Type) :: *
= Bool
Vladislav
в Type тоже редьюсится
Влод
Denis
ну я тащемта такие же манипуляции проделал в ghci и ничего не понял
Denis
когда пытаюсь в большой программе юзать, там все идет не так, но это уже не маленький гист, а большая программа
Vladislav
Что тут сказать, для больших программ можно и DCH нанять (jk)
Denis
Dah Chong Hong Conglomerate company?
Vladislav
Ага
Alexander
dirty cheap haskell
Vladislav
Вот эти ребята https://dirtcheaphaskell.io/
Denis
а, видел
Vladislav
dirty cheap haskell
что сразу dirty, мы на самом деле чистые, это dirt cheap (= дешевое)
Donat
воу, вот это вы демпингуете
Vladislav
а зачем больше тратить на кастомизированный StackOverflow?
Denis
хаха
Denis
ну как всегда
Denis
я полдня думал что я сумасшедший, а проблема не там была -_-
Denis
впрочем как решать - хз
NC
@int_index а дописывание фич в GHC присутствует в прейскуранте?
Vladislav
я конечно могу отличить type family от data family, но еще не Эйзенберг
NC
принижаешься
Vladislav
У меня самого несколько Trac тикетов, которые я больше года жду.
Vladislav
Весь research мне портят
Vladislav
И вообще про дописывание, это же консалтинг, а не аутсорсинг
NC
эх, на разраба в GHC мы бы наверняка накраудфандили
A64m
фичи разной квалификации требуют (но DH точно придется @int_index дописывать, Эйзенбергу это не надо уже)
Denis
я кстати со Стефани Вайрих говорил на эту тему
Vladislav
на разраба GHC еще можно, а вот чтобы он добавлял те фичи, которые НАРОД хочет, это вряд ли, потому что он будет в конкретном наборе тем в лучшем случае разбираться (GHC же гигантский)
NC
да даже закрытие багов уже супер будет
Denis
про dependent haskell вообще анрил что-то сделать, в т.ч. краудфандить, т.к. там разработчиков не отвязать от неё и ричарда
NC
я бы на оптимизацию скорости компиляции даже вложился
Denis
я кстати тоже
Denis
я вообще подумывал на что-то такое вакансию запилить
A64m
там, я думаю, особо для повышения скорости компиляции не сделать ничего
Vladislav
Вы что, ребята, вот на один из моих тикетов есть уже фикс, а его не мерджат, потому что это трехкратное снижение скорости компиляции
Denis
т.к. помимо работы которую просто надо делать, потому что надо, есть еще куча всего, от чего бомбит
Vladislav
Была бы толерантность к многодневной компиляции, был бы и фикс уже в HEAD
Denis
мы еще им денег дадим, лол
Denis
у меня уже никакой толерантности