Зигохистоморфный
кто пояснит почему codensity дает монаду, а density - комонаду? вроде приставка co должна говорить о комонаде
Зигохистоморфный
ну и применимость codensity для того чтобы улучшить Free monad (сделать Church версию) помню читал пейпер про это
Кабачок
кто пояснит почему codensity дает монаду, а density - комонаду? вроде приставка co должна говорить о комонаде
Потому что "ко-" означает дуальность, а не возможность рассмотрения сущности как комонады
Кабачок
Понятия не имею что такое density
Кабачок
coco = id :^D
Кабачок
Вот и все что я хочу сказать
кана
density создает комонаду если мы добавим ко, то очевидно что и комонада задуалится, получается codensity создает монаду в чем проблема?
кана
ну так уж получилось)
Зигохистоморфный
я думал плотность - монада коплотность - комонада
Зигохистоморфный
Codensity, Yoneda из Ran Density, Coyoneda из Lan
Зигохистоморфный
если Ran - это обобщение всех continuation то Lan это обобщение всех cocontinuation какой бы пример найти с cocontinuation? вот например CoCont есть такое?
Aleksey
а можно генерировать полиморфные линзы как-то?
Aleksey
хочу в структуре data F a = F { name :: a } иметь линзу name :: Lens (F a) (F b) a b
Aleksey
makeLenses генерирует мономорфные линзы, т.е. name :: Lens' (F a) a
Зигохистоморфный
EnvT?
Artyom
хмммм, да должен вроде полиморфные генерировать, странно
Artyom
> data F a = F { _name :: a }; makeLenses ''F > :t name name :: (Functor f, Profunctor p) => p a1 (f a2) -> p (F a1) (f (F a2))
adam
EnvT?
Нет, так его просто прозвали в одном из пейперов, который я уже врятли найду.
Антон
coco = id :^D
co . co = id тогда уж
Sergey
народ, подскажите плз, как [Bool] перевести в байты?
Антон
Руками не вариант?
кана
там будет несколько сложнее у ByteString есть cons, который принимает Word8 то есть нужно разбить массив булов на чанки по 8 булов, каждый чанк превратить в Word8, а потом законсить их все
Sergey
в конечном итоге я из [Bool] хочу получить ByteString
Cheese
начни с take 8
Cheese
нет, лучше splitAt 8
Cheese
порции свернуть с помощью Data.Bits.bit, например
Cheese
главное — тупо/остроконечность не перепутать
Alexander
блин у mergeConduit вообще какая-то адская кривая семантика
Alexander
а исправлять я боюсь, поломаю же юзкейсы
Alexander
(картинка xkcd про пробел перегревающий комп)
Alexander
в конечном итоге я из [Bool] хочу получить ByteString
был binary-bits или как-то так, кривой вусмерть
Антон
Alexander
https://xkcd.com/1172/
Alexander
ааааа
Anatolii
https://xkcd.com/1172/
Это хорошо, да
Alexander
у merge sources не может быть адекватной семантики.. что делать!!
Антон
https://xkcd.com/1172/
А, точно. Там ещё стрип про M-x C-c butterfly был
Cheese
у merge sources не может быть адекватной семантики.. что делать!!
а вот эта тоже не адекватная? https://hackage.haskell.org/package/conduit-merge
Alexander
а вот эта тоже не адекватная? https://hackage.haskell.org/package/conduit-merge
тоже ;). на самом деле тут все в порядке, она имеет более ограниченный тип и такая функция имеет адекватную семантику, не ту которой бы хотелось в stm- conduit, но адекватную хотя бы
Cheese
всё равно не подходит?
Aleksei (astynax)
https://wende.github.io/elchemy-ivy/
Aleksei (astynax)
Эх. Вот тут ссылаются на старую статью Гонзалеса про тайпклассы. Пример плохого эффекта от радикалистских статеек. "Преимущества Elm... нет тайпклассов" со ссылкой на подробную статью от хаскелиста о том, что тайпклассы, это плохо, на кого-то точно подействует...
Андрей
ребят, поясните про безтиповое лямбда исчесление )
Дмитрий
Так, чего-то я торможу, а как нацчить стек собирать хеддоки не там где он это делает обычно, а в папке doc, которая у меня лежит рядом с src?
Дмитрий
по идее нужно это прописать в папке пакедж.ямл
Дмитрий
но вот что конкретно там должн быть?
Anonymous
haske yn
Андрей
я правильно понимаю, что любой интерепретаток λ легко заставить работать в бесконечном цикле?
Дмитрий
я правильно понимаю, что любой интерепретаток λ легко заставить работать в бесконечном цикле?
я бы расширил этот тезис, любой интерпретатор тьюринг полного языка легко заставить работать в бесконечном цикле.
Anonymous
Nml Maria
Anonymous
ykk
ᛏᚺᛖ ᛚᛖᛋᛒᛁᚨᚾ ᛗᚨᚾ ᚷᛁᚱᛚ 🐝
я бы расширил этот тезис, любой интерпретатор тьюринг полного языка легко заставить работать в бесконечном цикле.
Но ведь лямбда исчисление эквивалентно машине Тьюринга по полноте. Так что вопрос является ли это расширением или нет
Дмитрий
Но ведь лямбда исчисление эквивалентно машине Тьюринга по полноте. Так что вопрос является ли это расширением или нет
Это является расширением, ведь изначальный тезис говорил ТОЛЬКО о лямбдоисчислении, а я обощил его до КЛАССА к которому оно принадлежит.
Дмитрий
Так что на счёт хеддоков? А то я роюсь по доккументации, и наверняка, как всегда, что-то да пропустил :(
Дмитрий
По идее нужно вписать что-то связанное с —odir=dir, ведь так?
Дмитрий
Ответ на мой вопрос, нужно было в стек ямл вписать
Дмитрий
build: haddock-arguments: haddock-args: - "--odir=./docs"
Дмитрий
Тогда при выполнении stack haddock всё будет как нужно.
Зигохистоморфный
Тьюрин и Черч занимались одним и тем же (проблемой вычислимости) просто один решал с помощью машины, а второй чисто математически. Да и у ЛИ есть изоморфизмы. Кстати Черч был вроде научным руководителем у Тьюринга
Зигохистоморфный
Ещё раз, МТ и ЛИ это конкретные экземпляры тьюринг полных языков, я не виноват, что термин звучит не "лямбдополные", так уж совпало.
ну про полноту по Тьюрингу это понятно) даже самый минимальный язык основанный на комбинаторах тоже полный по Тьюрингу, а у него всего одна метаоперация - применение (аппликация)
Зигохистоморфный
снойман... https://www.snoyman.com/blog/2018/02/conduitpocalypse
Влод
а это ок что когда на хаскеле код с векторами пишешь, то думаешь "лучше бы на каком-нибудь дефолтном императивном языке писал"?
Влод
особенно там вроде мутабелить придётся и вообще грязь какаято
A64m
чтоб хоть какие-то оптимизации были
Влод
да я не знаю какие там есть оптимизации кроме того что всё локально лежит
A64m
стрим фьюжен, убирание лишнего копирования для мутабельных
Arthur
ребят, поясните про безтиповое лямбда исчесление )
Смотри первые 3 лекции вот из этого плейлиста. Там все очень подробно и доступно разжёвано: https://www.youtube.com/playlist?list=PLlb7e2G7aSpRDR44HMNqDHYgrAOPp7QLr
Leonid 🦇
снойман... https://www.snoyman.com/blog/2018/02/conduitpocalypse
"небольшие изменения" мою задницу
Anatolii
На след лтс будут долго переходить наверное
David
Всем привет! Есть один файл с несколькими функциями (около 100 строк с форматированием, все в рамках стандартных возможностей языка), нужно переписать его на JS или Python. Кто-нибудь может с этим помочь? :) (естественно, небесплатно)
Aleksei (astynax)
с чего переписать, с хаскеля?
David
Да
кана
я могу