Denis
менять то что сделано на века должно быть сложно, ведь оно сделано на века
A64m
я, кстати, сомневаюсь что старый код на окамле вот так сразу будет компилироваться сейчас. Там же то ли проходит толи уже прошел цикл депрекации мутабельных строк
Dmitry
ну по идее, если их не мутировал - то должно быть ок?
Dmitry
я так даже оопом не пользовался
A64m
ну да
Dmitry
ну тогда те, кто мутировал ссзб
Dmitry
это функциональный язык или как вообще.
Alexander
читал тут исходный код flow, там сайд-эффекты в каждой строчке
Alexander
грязь какая то
Alexander
читал тут исходный код flow, там сайд-эффекты в каждой строчке
А я такое очень часто вижу. Взять, например, те же коллекции из стдлибы практически любого функционального языка — с 99% вероятностью найдешь там и циклы, и грязные функции. Чего только не сделаешь в угоду производительности.
A64m
там еще иммутабельные структуры к мутабельным кастят и обратно, например
Alexander
ну какбэ да, но зато снаружи всё такое функциональное и монадными трансформерами блестит.
Alexandr
всем привет, я правильно понимаю, что mapConcurrently вернет список результатов в том же порядке, в каком был список изначально?
A64m
Я, кстати, сходу не могу сказать сработает ли такой трюк для будующих хаскельных мутабельных объектов
Alexander
я вот не понимаю, почему они логер настраивают мутируя глобальный объект. Вот в упор не понимаю
Alexander
монадные трансформеры как раз редко бывают
да, не очень удачный пример, но думаю что мысль ясна
Alexandr
спасибо, было не совсем понятно
Ю ли я? 🤔
А что за будущие мутабельные объекты?
A64m
А что за будущие мутабельные объекты?
https://github.com/ghc-proposals/ghc-proposals/pull/8
Leonid 🦇
я смотрю опять линейные типы не вызывают восторга
A64m
где это?
Leonid 🦇
https://github.com/ghc-proposals/ghc-proposals/pull/111
A64m
а, так а почему это отношение должно было с прошлого раза поменяться?
Leonid 🦇
Я не вникал. Там кстати ваш любимый cartazio. и его опять игнорируют
A64m
так он свой альтернативный подход продвигает
Leonid 🦇
который у него уже почти написан?
A64m
не знаю, я не смотрел его доклад на около ICFP
Artyom
дамы и господа, предлагается уника^W предложение ⬅️ Я прочитаю довольно подробную лекцию о Template Haskell, где-то на час, со слайдами. Можно в компании, можно на квартире (и тогда все будут смотреть на экран моего ноута, как лохи), можно в каком-нибудь антикафе. Минимум три человека. Город Москва. Время: пятница днём, либо суббота вечером, либо понедельник днём/вечером. ➡️ С каждого участника мне идёт шоколадка Toblerone любого вкуса и размера 🙂 причина: подруге надоело, что я весь день сижу у неё дома, и я хочу куда-нибудь свалить на несколько часов и провести это время с пользой
Artyom
(Если хотели бы послушать, но бесит, что непонятно, куда приходить и когда, то напишите в личку. Если будет достаточное количество таких людей, то я переборю лень и сам найду помещение)
Alexander
дамы и предложение?
Artyom
fixed
Dmitry
вообще, я бы заслушал даже. th пока единственное, куда стараюсь не соваться
Dmitry
ну, почти
Dmitry
еще бы кто расскал, как вручную всякие истансы generic-ов пишутся
Зигохистоморфный
еще бы кто расскал, как вручную всякие истансы generic-ов пишутся
лежит в закромах на почитать https://markkarpov.com/tutorial/th.html
Artyom
вообще, я бы заслушал даже. th пока единственное, куда стараюсь не соваться
а у HXR нет офиса в Москве? можно было бы там организовать
Dmitry
что самое смешное - есть где проводить, но для трёх человек нецелесообразно
Artyom
ну там минимум три, а не максимум или у вас всего три человека работает? 😉
Denis
удаленщики, вангую
Dmitry
офиса нет, но я могу организовать в физтехпарке
Dmitry
но правда, наверное надо было раньше этим начать заниматься
Artyom
м-м-м, можно с понедельника по четверг днём/вечером, в общем-то а потом я уезжаю :(
Mi Shа
Всем привет! Подскажите, я правильно понимаю, что линзы работают на рефлексии?
Mi Shа
Ок, а строчку makeLenses ''MyType можно считать стейтментом?
Dmitry
@lightgreen ок, я буду иметь ввиду, хотя если подумать, то мне ж там придеся тогда присутствовать, а вот на тусовки-то времени сейчас не очень
Leonid 🦇
Mi Shа
Это ведь стейтмент, не выражение?
Cheese
выражение
Leonid 🦇
Ок, а строчку makeLenses ''MyType можно считать стейтментом?
https://hackage.haskell.org/package/lens-4.16/docs/Control-Lens-TH.html#v:makeLenses вот тут написано во что разворачивается
Cheese
в данном контексте можно считать стэйтментом
Cheese
линзы можно создавать с помощью рефлексии во время компиляции
Cheese
линзы могут работать и на рефлексии в рантайме, но это немного странный случай
Cheese
обычно они создаются по конкретным типам и работают с конкретными типами
A64m
декларацией, тогда уж, почему стейтментом-то?
Leonid 🦇
декларацией, тогда уж, почему стейтментом-то?
просто слово не могли вспомнить
Leonid 🦇
/me с отвращением добавил monad-time в build-depends
Cheese
стэйтмент, порождающий объявление, точнее, несколько объявлений
Cheese
стэйтмент, потому что императивное выражение
Dmitry
Dmitry
кстати, к вопросу, почему interpolatedstring-perl6, а не shakespeare 👆
Dmitry
и ноль зависимостей.
Artyom
^ выводит “Hello world!” и “Goodbye!” одно за другим
Artyom
пытаюсь запилить атомы в Haskell разумеется, pattern exhaustivity checker на такое ругается
Artyom
у кого-нибудь есть идеи, как сделать хорошо?
Artyom
https://gist.github.com/a7e859987ffdc477c0a51ae11343d9c2
Artyom
всё бы нормально работало, если бы я мог как-нибудь засунуть в паттерн либо Symbol, либо #label, но я не придумал, как сделать ни того, ни другого (кроме ViewPatterns)
Антон
учитесь проектировать языки https://twitter.com/GabrielG439/status/963601060819476480
Ответ Брайана МакКена: "⬇️Behavior is impossible"
Антон
кана
не понял
Pattern Synonym имею в виду, там нельзя сгенерировать ViewPattern?
Artyom
а как дальше использовать этот pattern synonym? покажи примерно, как это выглядит вместо view pattern в моём случае
Artyom
если ты предлагаешь что-то вроде say :: OneOf ["hi", "bye"] -> IO () say (Is #hi) = putStrLn "Hello world!" say (Is #bye) = putStrLn "Goodbye!" то это невалидный синтаксис вне зависимости от того, является Is паттерн-синонимом или нет