Влод
Влод
когда пытаюсь stack ghci завести
Влод
NoImplicitPrelude, без base
Влод
но та альтернативная Prelude по идее должна всё нужное импортить
Влод
ну то есть то что в ошибках оно пишет там есть
A64m
NoImplicitPrelude это не без base, это значит что нету неявного import Prelude в каждом файле
A64m
а альтернативной прелюдии скорее всего base требуется
Влод
ну когда был base в кабал файле они конфликтовали при сборке
кана
а альтернативной прелюдии скорее всего base требуется
А разве она там сама не зависит от base? Это какие-то peer deps?
Alexander
без base очень тяжко прелюдию сделать
Alexander
и бессмысленно
Alexander
хотя split base было бы круто
Denis
прелюдия без base - деньги на ветер
Влод
ну тип я не делаю прелюдию. я ей пользуюсь. она в свою очередь реэкспортит из base
Alexander
ошибки подсказывают, что не реэкспортит
кана
А, точно, да, все, от чего зависит кастомная, не видно у нас, иначе бы в кастомной прелюдии пришлось каждый модуль из base создавать с реэкспортом Т.е. кастомная использует base для сборки и на этом все, нам нужен свой base
A64m
тем временем в 8.6 уже две фичи будут https://github.com/ghc/ghc/commit/be84823b956f0aa09c58d94d1901f2dff13546b4 правда, одобренные комитетом по фичам на этом закончились
Denis
BlockArguments - тоже мне фича
Denis
еще странностей синтаксических завезли вместо чего-нибудь полезного
A64m
BlockArguments - тоже мне фича
другая еще более незначительная
A64m
фичи, которые не "тоже мне" через комитет по фичам не проходят
Denis
я бы даже сказал что это антифича
Denis
мне от неё странно и грустно
A64m
не знаю, у меня к ней нейтральное отношение, как к \case было, может даже буду пользоваться, но не было бы ее - я бы не расстроился
A64m
нормальные фичи которые могут быть в 8.6 это QuantifiedConstraints (эта-то я думаю будет) и DerivingVia (вот тут сомнительно)
Влод
stack upgrade —git помогло
Leonid 🦇
а какие фичи застряли в коммитете кроме рекордов?
A64m
а какие фичи застряли в коммитете кроме рекордов?
рекорды не проходили комитет, они как бекпак участвовали только в экспериментальном обсуждении на гитхабе
A64m
в обсуждении их и пощипали правда, но то что автор там что-то поменял - это его добровольное решение на основе фидбека
Leonid 🦇
я посмотрел пропозалы, там вообще никто не голосует. вяло.
A64m
из тех фич, которые в основном имплементированы, в обсуждении застряли линейные типы, а в комитете ор-паттерны и мутабельные объекты
A64m
одна из имплементированных фич - deriving via - как пропозал еще и не оформлена даже
A64m
а, еще же и по QuantifiedConstraints нету пропозала, но что-то я подозреваю, что она вообще вне процесса пойдет
Leonid 🦇
В общем изучив всякие вёб технологии я решил что JWT фуфло, лучше уж CWT
Leonid 🦇
И вообще лучше без тупорылых ненужных стандартов
Leonid 🦇
мнение автора может не совпадает с его же мнением когда это всё будет в проде
Leonid 🦇
керберос тоже понадобится
Leonid 🦇
ибо художники логинятся в софтину с паролем от лдап и потом не могут понять почему их не пускает.
Leonid 🦇
А так они уже залогинены, клиент запрашивает керберосовый тикет, шлёт серверу. тот валидирует и всё пучком.
Alexander
@catamorphism Что вы думаете о сторонниках динамической типизации?
Denis
думаю что им стоит попробовать нормальные ЯП со статической типизацией
Denis
и заживем
Alexander
Возможно. Только нельзя забывать про факт, что самый популярный язык - JS - динамический, там же где-то и Python, а само ФП начиналось с динамически типизированного Lisp
Vladislav
Не, я думаю это не лечится, пока у них у самих жилка не проступит, не почувствуется потребность больше гарантий для софта иметь.
Vladislav
Если типизированные языки толкать без рационализации, то это будет восприниматься как "ограничили мою швабоду!"
Denis
тут еще проблема что макбрайдовские аргументы за типизацию без основательного такого бэкграунда и контекста неофитам невозможно продать
Leonid 🦇
Пока их софт живёт максимум два года, или его поддерживают другие люди - не поймут зачем статическая типизация
A64m
Любопытно узнать, свободу делать что именно?
свободу помещать списки и числа в один список
Alexander
Пока их софт живёт максимум два года, или его поддерживают другие люди - не поймут зачем статическая типизация
А было такое в личной практике: человек нафигачил код, скажем, на условном Python, потому что он был один, без старших товаришей, а потом свалил? У меня было.
Alexander
свободу помещать списки и числа в один список
Но мне не ясно, что в этом плохого.
A64m
но, конечно, SASL был игрушечным, из нормальных ФЯ общего назначения никогда никаких безтиповых не было
Alexander
Ты свалил?
Нет, я так не делаю. Я стараюсь писать код, чтобы его без меня могли поддерживать.
Vladislav
Но мне не ясно, что в этом плохого.
В этом и нет ничего плохого, достаточно сильная система типов дает heterogeneous lists
A64m
Но мне не ясно, что в этом плохого.
особо плохого в этом нет, правда и хорошего тоже
Alexander
В этом и нет ничего плохого, достаточно сильная система типов дает heterogeneous lists
В таком случае сторонники динамической типизации бы спросили: зачем наворачивать столько оверабстракций, если тот же результат можно получить с динамической типизацией.
A64m
неотличимый результат с единственным типом для всего можно и без оверабстракций получить
Leonid 🦇
Any
Alexander
В Скале?
A64m
эни это не аналог нетипизированного языка. Аналог нетипизированного языка это скарее тип вроде Value из aeson, только расширенный функциями, естественно
Alexander
С моего текущего проекта ушел единственный рубист, потому что ему крайне не по нраву, что начали писать на Haskell с этой вашей статической типизацией.
A64m
всего-то один ушел, тут на днях в фпчатике один кложурист рассказывал как просто люто-бешено изничтожил команду джавистов перспективой писать на нетипизированной кложуре
Alexander
Как он это сделал?
Alexander
Джависты же непробиваемые
A64m
ну он там их поставил перед фактом что надо на кложуре теперь писать - и половина или больше даже ушли
Alexander
Он был тимлид? Или привелигированный разработчик? Все равно не ясно, как он это умудрился сделать.
Alexander
А что за ФП чатик?
A64m
это же история, рассказанная в чатике, не обязательно чтоб ей соотвествовали в точности какие-то события в реальной жизни
Alexander
Окей, вы меня раскусили, что я хотел за пруфами слазить
A64m
Подробное описание кейса. Как product owner я предоставил команде выбор: или пишите на любимой java или я вас могу переучить clojure. Они подумали и решили что java, аргументировав тем что быстрее надо фичи выводить, а обучение новому языку потребует времени. Ну ок, мое дело бэклог и вижн продукта. Начались спринты: 1,2,3,4 .. После 4 спринта стало окончательно ясно, что чуваки вместо продукта делают церемонии в java: пилят ORM, делают обертки, фабрики и прочее, что принято в java мире. На каждую маленьккую задачу рождалось тонны кода, который еще внезапно не многопоточный, мутабельный со всех строн, на что просились дополнительные ресурсы. Это не только у меня. В соседних стримах по платформам банка это видно. Но хуже всего было то, что я тратил 1 день clojure, чтобы показать им, что они должны были сделать за спринт всей командой. Кроме шуток, после их объяснения почему что-то не получилось, я показвал им сам демо и встречал это полным молчанием. Как-то только от javaистов требовалось сделать что-то не как в их любимом фреймворке, то сразу стекланные глаза и завышение оценок в 2-3 раза. После 4 спринта им было предложено прекратить тратить деньги организации "делая java" и переучиваться на clojure или уйти. Да, ушла ровно половина. И это пошло на огромную пользу продукту. Во-первых остались только мотивированные на создание продукта люди, а не на их java. Во-вторых набор новых высокомотивированных людей повысил общую атмосферу работы до дружеской и да еще писать на Clojure. Я согласовал затраты с боссами и 1,5 мес мы "жгли" деньги на обучение Clojure ребят. Уже после 1х спринтов вчерашние java'исты стали во-первых выводить фичи, а во-вторых они признавали что все получается заметно короче, а главное код проще.
A64m
т.е. он их не сразу выгнал, а сначала напугал
Alexander
Круто
A64m
первую часть где он один побеждает легионы джавистов я пересказывать не стал, чтоб поддержать какую-никакую но реалистичность истории
Alexander
Подробное описание кейса. Как product owner я предоставил команде выбор: или пишите на любимом haskell или я вас могу переучить clojure. Они подумали и решили что haskell, аргументировав тем что быстрее надо фичи выводить, а обучение новому языку потребует времени. Ну ок, мое дело бэклог и вижн продукта. Начались спринты: 1,2,3,4 .. После 4 спринта стало окончательно ясно, что чуваки вместо продукта делают церемонии в haskell: пилят типы, делают DSL, монады и прочее, что принято в haskell мире.
A64m
Oh, exploitable!