Alexander
с другой стороны я сейчас на VPN так что может и не работает
Ю ли я? 🤔
Где-нибудь есть хорошие обучалки по FRP? Желательно не просто очередное объяснение принципов на паре мелких примеров, а демонстрация какой-нибудь нетривиальной системы. Хорошо задокументированный проект тоже подойдёт.
Alexander
Уже назад привалился
Alexander
я не видел действительно хороших
Alexander
Давно ищу такой пример, да
Alexander
Но есть проект frp-zoo
Alexander
у кого-то был хороший мануал по стрелкам и обещался про FRP продолжить
Alexander
но так и не сделал
Alexander
а потом потратил свой сервер
Alexander
Там много разных FRP-либ хаскельных одну и ту же задачу решают
Alexander
автор netwire
Alexander
только с разных сторон
Alexander
Автор netwire задепрекейтил netwire
Alexander
Теперь он делает другую либу. wire
Kirill
а у меня вот слак недавно отвалился
Ю ли я? 🤔
а слак не у всех отвалился?
У нас "корпоративный" весь день работал, коллеги не жаловались
Kirill
при этом запасной конторский чат в keybase тоже лежит
Kirill
и в "корпоративном" целый день работал, да
Kirill
провайдер заворачивает айпишник на zapret-3.atknet.ru
Kirill
ок, впны значит
Ю ли я? 🤔
Но есть проект frp-zoo
Там тоже синтетический пример, хочется чего-то real-world 😔
Alexander
там квейк был
Alexander
или что-то такое у кого-то в диссере
Ю ли я? 🤔
Frag?
Alexander
Мы сейчас используем reflex-dom. Точнее, его порт на PureScript
Alexander
вроде да
Alexander
machines FTW
Alexander
explicit FRP
Ю ли я? 🤔
Я вот в threepenny-gui тыкаюсь
Alexander
У меня давно есть желание написать такое демо-приложение. Хорошее, многофункциональное. И статейки про это написать. Но тема больно сложная. Помнится, я с netwire не разобрался толком три года назад: так не компилится, этак не работает, хотя по логике должно.
Alexander
Но с клоном reflex-dom (автор назвал его Specular), вроде, более-менее разобрался. Правда, это не очень-то FRP. Как сказал бы Конал Элиот, в нем не хватает денотационной семантики. Вы же в курсе про драму про Sodium и книгиу Functional Reactive Programming от Manning?
Ю ли я? 🤔
Нет, что за драма?
Rigidus
Так где читать про настоящее ФРП?
Alexander
Итак, некие товарищи нафигачили свою либу Sodium на куче языков и написали про это вышеназванную книгу. На официальном форуме книги какой-то доблестный воин завел тему, что Sodium - нифига не FRP. В лучшем случае RP. Авторы стали рьяно защищать свое детище, приводили какие-то аргументы, но тут пришел сам изобретатель FRP Конал Элиот (ну, еще Худак там тоже был, вроде). И сказал, что Sodium не FRP, так как в нем не хватает денотационной семантики, и сама идея FRP теряется. Авторы попробовали отбрехаться, мол, есть всякая там математика, а практические подходы, и с этой точки зрения лучше хоть что-то, но в продакшене. Правда, потом они все равно написали какой-то пейпер про денотационную семантику.
Alexander
Сейчас найду ссылку
Alexander
А книга плохая. Очень невнятная
Alexander
так надо бы сеть и начать делать доклад, а не работу работать
Alexander
Обязательно! Но в следующий раз. Я и так доклад по С++ больше 2 месяцев готовил, а еще же один на fprog
Alexander
Да, я там ниже назвал его по имени :)
Alexander
Короче, не нашел, но вот в этом топике тема продолжается: https://forums.manning.com/posts/list/41281.page
Alexander
мне на fprog то тоже готовить
Alexander
Это как? Доклад уже послезавтра!
Alexander
и?
Alexander
Как доклады за два дня можно сделать?
Alexander
Ей хорошо, она лежит. В том же состоянии, что и год назад
Alexander
Как доклады за два дня можно сделать?
можно и меньше, хотя я обычно за неделю делаю
Kirill
ну вот книгу за 2 напишешь, видимо
Alexander
dump juick://qnikst:+haskell+хочется_странного | pretty --format json ?
Alexander
--format text
A64m
> I'm not comfortable with accepting that "whatever, that's fine too"; as much as I love this language and its ideas, a shift towards user- and beginner-friendliness is long overdue. I don't know how this will happen but I'm almost sure this won't come at the expense of its other qualities. > I don't know how this will happen but I'm almost sure this won't come at the expense of its other qualities. ну ну
Alexander
это про что?
A64m
про diagrams, но не сказал бы что тут нужен контекст
Denis
“как хотеть странного в странных микроблогах”
Dmitry
Подскажите, пожалуйста, какой-нибудь пакет, который бы над списком записей data Rec = Rec fld1 fld2 ... fldn позволял бы выполнять аггрегирование, типа, как в SQL. select sum(rec1), rec15 group by rec15 from myList.
Dmitry
Существует такое?
NC
Существует такое?
opaleye так умеет
NC
Но я похоже неправильно понял вопрос, opaleye генерит sql для бд
Dmitry
Не, мне надо просто обычный haskell-список сворачивать по разным полям
Dmitry
Просто задача похожа на SQL-ное аггрегирование
Dmitry
Ну можно и им, да.
Dmitry
Просто думал, что-то более специфическое есть.
Dmitry
У меня получается просто вот такое: map (\rs -> (rec15 $ head rs, sum $ map rec1 rs)) $ groupBy (\r1 r2 -> rec15 r1 == rec15 r2) $ orderBy rec15 myList. Не сказал бы, что красиво.
Dmitry
Data.Map.fromListWith
Dmitry
А, вариант
anton
Подскажите пожалуйста, а можно в Setup.hs кабала узнать директорию куда пакет устанавливается? и туда скопировать архив, там распаковать? я так хотел бы статику сайта завернуть в пакет очень не хочется по одному файлу в data-files выписывать их
кана
он правда на пару работает, будут вложенные пары
Ilya
Я хотел создать список случайной длины из одинаковых чисел, после чего применить к списку какую-то функцию, скажем map (+1) Написал я это так: map (+1) <$> flip replicate 5 <$> randomRIO (1, 10) При это я совсем забыл, что у <$> левая ассоциативность, а не правая, как у $. Так что вроде как код ошибочный — он будет выполняться слева направо, тогда как подразумевалось справа налево. Однако он не только прошёл типизацию, но ещё и правильно работает. Почему?:)
Aleksei (astynax)
Потому что у (->) тоже реализован функтор
Ilya
а всё же забавная фишка
Denis
у (->) r
Ilya
какая-то недоассоциативность получилось
Aleksei (astynax)
Ну и т.к. > :t map (+1) <$> flip replicate 5 map (+1) <$> flip replicate 5 :: Num b => Int -> [b] то "типизацию проходит"