Alexander
kosc
A64m
Зигохистоморфный
как бы
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
Alexander
(Да, трава зеленее)
Зигохистоморфный
а если не юзать type Pre E a = Num a то в AdvSem E требует Num a
Зигохистоморфный
ну это понятно, потому что +
A64m
времена были неплохие в смысле поболтать про фп на русском языке, но во всем остальном ужасные просто.
A64m
читать нечего, имплементации убогие, работы на ФЯ нету
Зигохистоморфный
что type family constraint нельзя унаследовать так?)
A64m
иконой стать не удалось Ж(
Aliester
https://insights.stackoverflow.com/survey/2018/
Aliester
интересно, среди хаскелистов больше трансов?
Alexander
иконой стать не удалось Ж(
Шансы есть даже сейчас. Сами понимаете, нужно "просто" производить полезный контент, на регулярной основе, и не обращать внимания на негативщиков.
Alexander
Oleg
A64m
но больше всего шокирует vim 26% emacs 4%
Зигохистоморфный
Зигохистоморфный
ворнинг
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)
Dmitry
Aliester
вот вы никогда не хотели стать новым Столлманом?
Aliester
страна хронических пиратов
Евгений
Не уверен, что можно называть конторы, закрывающие ПО, пиратами
Alexander
Что сейчас полезно, по вашему мнению?
Очень полезны практики и подходы, которые удалось применить / придумать / улучшить / переосмыслить. ФП в целом и Haskell в частности повзрослели до того момента, когда появились разговоры о дизайне и архитектуре в чисто функциональном стиле.
Также всегда будут полезны материалы для новичков, потому что свежий материал пусть и не всегда покрывает что-то новое (хотя и такое бывает), но увеличивает visibility ФП.
Мега-полезны success stories, чуть менее полезны истории провала (здесь не стоит обращать внимание на злые языки; отрицательный результат в науке и инженерии не менее важен, чем положительный).
Очень нужны всяческие библиотеки и вообще tooling. Нужны и статьи о том, что эти библиотеки нужны. Это обозначает запросы сообщества в целом, а чем выше спрос, тем выше шансы, что кто-нибудь возьмется.
Важны любые технические статьи, важна помощь новичкам, и вообще - коллаборации. Важны книги на продвинутые темы. Книги для новичков тоже нужны, но их уже большой выбор, а вот чего-то более сложного почти нет.
parket
Каждый решает для себя. Я не пирачу. Жить можно.
Andrei
Alexander
И теперь у меня создается ощущение, что будущие хаскеллисты - это слабые духом люди, убежавшие от проблем, с которыми сильные духом борются и побеждают
Aleksei (astynax)
так и есть же
Aleksei (astynax)
Хаскель - для узколобых неосиляторов
Aleksei (astynax)
Осиляторы пишут на Лиспе
Alexander
Да, которым нужен компилятор в помощь, иначе программировать невозможно
Alexander
лисп это язык который оказался хуже чем c
Alexander
Согласен. Я такой
Aleksei (astynax)
Alexander
+1
Aliester
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
(правильный ответ ­— стипендию)
Aleksei (astynax)
Да нафиг артисту не сдался Haskell в его артистовой нише. Потому как артист хочет делать арт, а не типики верифицировать
Alexander
лол
Alexander
как руби разраб могу сказать, что любой чепловек пишущей на скриптовом языке мечтает верифицировать типы
Alexander
особенно если ему показать system F
Aliester
как руби разраб могу сказать что гроб гроб кладбище динамика
Aliester
благо Матц обещает опциональную типизацию в руби 3
Alexander
кстати число работающих активных участников в чате очень велико
Alexander
работающих на haskell
Alexander
FWIW
A64m
тут 676 человек сидит, один процент, наверное, пишет на работе на хаскеле