Зигохистоморфный
так он будет доступен. но определить нужно в instance BaseSem
что ты имеешь ввиду? вроде в instance BaseSem он есть, но в AdvSem не видит его
Зигохистоморфный
как бы class BaseSem sem where type Pre sem a :: Constraint val :: Pre sem a => a -> sem a add :: Pre sem a => sem a -> sem a -> sem a instance BaseSem E where type Pre E a = (Num a, Show a) val v = E v add x y = E $ (eval x) + (eval y) class BaseSem sem => AdvSem sem where mul :: sem a -> sem a -> sem a instance AdvSem E where -- type Pre E a = Num a -- ‘Pre’ is not a (visible) associated type of class ‘AdvSem’ mul x y = E $ (eval x) * (eval y) вот для BaseSem E инстанс есть, а вот для AdvSem не работает так
Alexander
(Да, трава зеленее)
Зигохистоморфный
а если не юзать type Pre E a = Num a то в AdvSem E требует Num a
Зигохистоморфный
ну это понятно, потому что +
A64m
времена были неплохие в смысле поболтать про фп на русском языке, но во всем остальном ужасные просто.
A64m
читать нечего, имплементации убогие, работы на ФЯ нету
Зигохистоморфный
что type family constraint нельзя унаследовать так?)
Alexander
читать нечего, имплементации убогие, работы на ФЯ нету
Зато можно было стать "иконой", если производить то, что потомки будут читать и использовать.
A64m
иконой стать не удалось Ж(
Aliester
https://insights.stackoverflow.com/survey/2018/
Aliester
интересно, среди хаскелистов больше трансов?
Alexander
иконой стать не удалось Ж(
Шансы есть даже сейчас. Сами понимаете, нужно "просто" производить полезный контент, на регулярной основе, и не обращать внимания на негативщиков.
A64m
https://insights.stackoverflow.com/survey/2018/
хаскель любят меньше CSS хуже гитлера, практически
Alexander
хаскель любят меньше CSS хуже гитлера, практически
А хаскеллистов любят еще меньше ;)
A64m
но больше всего шокирует vim 26% emacs 4%
Зигохистоморфный
ну зачем ты его переобъявляешь ? Он же уже есть в Base
я уже это закоментил, но не работает
Зигохистоморфный
ворнинг src/Sem.hs:45:17: warning: [-Wdeferred-type-errors] • No instance for (Num a) arising from a use of ‘*’ Possible fix: add (Num a) to the context of the type signature for: mul :: forall a. E a -> E a -> E a • In the second argument of ‘($)’, namely ‘(eval x) * (eval y)’ In the expression: E $ (eval x) * (eval y) In an equation for ‘mul’: mul x y = E $ (eval x) * (eval y) | 45 | mul x y = E $ (eval x) * (eval y)
Aliester
вот вы никогда не хотели стать новым Столлманом?
Евгений
вот вы никогда не хотели стать новым Столлманом?
Юридическая плоскость борьбы бессмысленна в России
Aliester
страна хронических пиратов
Евгений
Не уверен, что можно называть конторы, закрывающие ПО, пиратами
Alexander
Что сейчас полезно, по вашему мнению?
Очень полезны практики и подходы, которые удалось применить / придумать / улучшить / переосмыслить. ФП в целом и Haskell в частности повзрослели до того момента, когда появились разговоры о дизайне и архитектуре в чисто функциональном стиле. Также всегда будут полезны материалы для новичков, потому что свежий материал пусть и не всегда покрывает что-то новое (хотя и такое бывает), но увеличивает visibility ФП. Мега-полезны success stories, чуть менее полезны истории провала (здесь не стоит обращать внимание на злые языки; отрицательный результат в науке и инженерии не менее важен, чем положительный). Очень нужны всяческие библиотеки и вообще tooling. Нужны и статьи о том, что эти библиотеки нужны. Это обозначает запросы сообщества в целом, а чем выше спрос, тем выше шансы, что кто-нибудь возьмется. Важны любые технические статьи, важна помощь новичкам, и вообще - коллаборации. Важны книги на продвинутые темы. Книги для новичков тоже нужны, но их уже большой выбор, а вот чего-то более сложного почти нет.
parket
Каждый решает для себя. Я не пирачу. Жить можно.
Зигохистоморфный
ну зачем ты его переобъявляешь ? Он же уже есть в Base
и что скажешь? явно добавлять Num a как-то не то, что я хотел от type family constraint
Alexander
И теперь у меня создается ощущение, что будущие хаскеллисты - это слабые духом люди, убежавшие от проблем, с которыми сильные духом борются и побеждают
Aleksei (astynax)
так и есть же
Aleksei (astynax)
Хаскель - для узколобых неосиляторов
Aleksei (astynax)
Осиляторы пишут на Лиспе
Alexander
Да, которым нужен компилятор в помощь, иначе программировать невозможно
Alexander
лисп это язык который оказался хуже чем c
Alexander
Согласен. Я такой
Aleksei (astynax)
Alexander
+1
Alexander
исторически
Alexander
Правильно было бы ответить - "чем с"
Alexander
крутые языки не умирают от конкуренции с плохими
Aliester
да?
Aliester
вы упускаете одну вещь
Alexander
крутые языки не умирают от конкуренции с плохими
Да только плохие и выигрывают конкуренцию
Aliester
Джава - говно
Aliester
но она повсюду
Alexander
плохие языки тоже не умирают от конкуренции с крутыми
Aliester
потому что маркетинговое самоубийство Sun
Aliester
пхп выжил
Aliester
потому что кодмакаки
Alexander
Крах Sun с наличием таких полимеров был сопоставим, наверное, только с крахом СССР
Alexander
так ниши разные
Aleksei (astynax)
Потому что есть тупые люди - они пишут на хаскеле, есть гении и богокодеры - эти на лиспе пишут. А Три сигма, это нетупые, которые пишут на средних языках
Alexander
для кодмакак и для уважаемых людей
Aliester
а как же артисты, которе пописывают на Джаваскрипте?
Aleksei (astynax)
Кодмакаки, не тратя усилия, получают больше типичного хаскелиста или лиспера
Aleksei (astynax)
Саксесс, ящитаю
Aleksei (astynax)
Мы сколько угодно можем пыжиться и отрицать, конечно
Aliester
да
Aliester
потому давайте все писать на сисярпе
Aleksei (astynax)
Я - тупой и не могу в голове держать мутабельность
Aleksei (astynax)
Только один MVar за раз
Alexander
а как же артисты, которе пописывают на Джаваскрипте?
ну там бурное развитие ниши языков для людей как раз потому, что в ней нет конкуренции
Alexander
а сколько нынче получает типичный хаскелист?
Alexander
(правильный ответ ­— стипендию)
Aleksei (astynax)
Да нафиг артисту не сдался Haskell в его артистовой нише. Потому как артист хочет делать арт, а не типики верифицировать
Alexander
лол
Alexander
как руби разраб могу сказать, что любой чепловек пишущей на скриптовом языке мечтает верифицировать типы
Alexander
особенно если ему показать system F
Aliester
как руби разраб могу сказать что гроб гроб кладбище динамика
Aliester
благо Матц обещает опциональную типизацию в руби 3
Alexander
кстати число работающих активных участников в чате очень велико
Alexander
работающих на haskell
Alexander
FWIW
Евгений
как руби разраб могу сказать, что любой чепловек пишущей на скриптовом языке мечтает верифицировать типы
Зачем верифицировать типы, если у тебя в ЯП один единственный тип data Type = Func Type -> Type | Dict HashMap String Type | List [Type] | Number Float | Str String?
A64m
тут 676 человек сидит, один процент, наверное, пишет на работе на хаскеле