кана
прочитано
зачем тогда видосик?
A64m
а посоветуйте видосик по TypeInType и вот это вот всё
какой именно? Просто обзорный доклад или обучающий?
Ilya
какой именно? Просто обзорный доклад или обучающий?
что-нибудь. лучше конечно обучающий, если они существуют. обзорный тоже пойдет
A64m
обучающих не существует
A64m
только про Type :: Type или про то что дальше планируется тоже?
Alexander
нет, настоящий лиспер, Кметт зачем-то напал на их гнездо, тред про SBCL в рпрограмминг
Я пробовал нагуглить эту драму, но не нашел. Это где-то на закрытых ресурсах происходит?
Alexander
но у меня ссылки тоже нет
Alexander
А, Реддит
Leonid 🦇
Я нашел эту драму. Там уже все отредачили свои тексты
Leonid 🦇
ничего интересного
Alexander
Ну вот. Функция редактирования сообщений убивает накал страстей.
A64m
Я пробовал нагуглить эту драму, но не нашел. Это где-то на закрытых ресурсах происходит?
да там ничего кроме универсального ответа проклятым хаскелистам нет
Alexander
Лисперы не любят хаскеллистов?
A64m
они и лисперов не любят
A64m
не то что хаскелистов
Leonid 🦇
@graninas помнишь я говорил про *Sec и хаскель? "Realizing DevSecOps with Fugue and AWS" https://fugue.co/resources/2018-02-27-realizing-devsecops-with-fugue-and-aws.html
Leonid 🦇
Лисперы упрекают кого-то в илитарности +inf
Alexander
@graninas помнишь я говорил про *Sec и хаскель? "Realizing DevSecOps with Fugue and AWS" https://fugue.co/resources/2018-02-27-realizing-devsecops-with-fugue-and-aws.html
Полистал видюшку. Очень знакомо звучит это все, мы тоже в Каспере занимались политиками безопасности и Compliance в рамках DLP.
Leonid 🦇
да это пофиг. главное Sec добавили в базворд
Alexander
Можно смело утверждать, что какое бы ты словосочетание ни придумал, кто-то уже делает такой стартап.
Leonid 🦇
Ну тут ещё и хаскель
A64m
дальше тоже:)
https://www.youtube.com/watch?v=O805YjOsQjI
A64m
https://www.youtube.com/watch?v=bDdkeKr9vVw
A64m
https://www.youtube.com/watch?v=soKl1IslU-I
A64m
https://www.youtube.com/watch?v=AGJY95Otb9U
A64m
https://www.youtube.com/watch?v=0157rUxC4_8
A64m
в докладе про левити полиморфизм вторая половина - демо тайп ин тайп
Ilya
@A64m_qb0 огромное спасибо за такую подборку, буду смотреть
A64m
> It's impossible to explain why this set of fields needs to be strict, because the rationale is of the form "the field points to a thunk from line N of TcRnDriver.hs which refers to a thunk from line Y of HscTypes.hs which refers to the HscEnv". To find these I used gdb with the findPtr() utility in rts/Printer.c. Retainer profiling is supposed to solve this kind of problem but in practice it doesn't.
Ю ли я? 🤔
Чому у stack repl такой долгий первый запуск в каждую сессию?
Alexander
потому, что компиляет?
Leonid 🦇
Вот ведь. как мне в тайп фэмилиз сделать class HasClient m a type Client (m :: * -> *) a :: * instance HasClient m (StreamReq req stream resp) where type Client m (StreamReq req stream resp) = req -> (Stream (Of stream) m resp -> m c) -> m c ? типа c не видит. Обернул деструктор стрима в newtype с RankNTypes, но api не красивое выходит
Leonid 🦇
может делать стрим с ResourceT тупо?
Alexander
ну меня с ResourceT IO
Alexander
клиент не видит
Alexander
а в сервере runResourceT $ ... next
Leonid 🦇
сразу всплывает UnliftIO :(
Leonid 🦇
у меня не сервант
Alexander
а
Alexander
UnliftIO норм
Leonid 🦇
зацени какой толстый тип у Stream моего
Aliester
главное у стрима не размер
Leonid 🦇
хотелось бы просто m (Stream ...) возвращать.
Leonid 🦇
@qnikst как мне сделать стрим который по завершению или эксепшену закроет ресурс? Только ResourceT же?
IC
https://www.youtube.com/watch?v=0157rUxC4_8
Presenter: Antoine @voidlizard
Dmitry
а что
Dmitry
вроде не спам
Leonid 🦇
"Presenter: Antoine Voizard" - шутка
Alexander
@lonokhov ага
Leonid 🦇
Сделаю лучше с деструктором в ньютайпе пока. Надежнее он как-то
Alexander
WeakPtr ?
Alexander
или через bracket ?
Leonid 🦇
(a -> m b) -> m b, а внутри bracket
Alexander
+
Leonid 🦇
@qnikst https://gist.github.com/sopvop/d11887259eb271f87d0c7266bb8bdc20#file-prik-hs-L29 ибо c из m c неоткуда взять.
Alexander
это тоже сработает
Alexander
просто в серванте, например, так не получится
Alexander
там ресурс живет дольше чем хэндлер
Leonid 🦇
в клиенте?
Alexander
если в bracket укладывается то это хорошо
Alexander
в клиенте нет
Leonid 🦇
мне нужно закрыть протоколовый поток
Leonid 🦇
как только клиент получил финальный кусок
Leonid 🦇
я бы хотел деструктор этот прямо в CallT тайп фэмили указать. но не даёт из за того что c нигде слева не видно
Leonid 🦇
а RankNTypes видимо нельзя в TF
Leonid 🦇
А вообще раз у меня нечем API расширять, может сделать на закрытых TF?
Leonid 🦇
а тоже нельзя
Leonid 🦇
И вот после 6 лет хаскеля в продакшене я узнал что на уровне модуля можно любой паттерн писать.
A64m
уже нельзя Ж((((
Leonid 🦇
как это?
IC
после 6 лет, но до 8
Leonid 🦇
еще 2 года до продакшена
A64m
запретили RecordWildcards с 8 что ли версии
Dmitry
?!
Dmitry
штоа
Leonid 🦇
А чому?
A64m
?!
на топлевеле
A64m
А чому?
просто так