Alexander
там ни ad-hoc ни row-polymorphism нету
Alexander
это полная печалька
Alexander
и мало средств для абтракции
Alexander
блин нельзя написать let mkType = \a -> .. uses a in let b = [...] : mkType a in b
Denis
Dhall всем нравится, гм, платонически
Alexander
но почему нужен он, а не аналог, который писать пару вечером и он будет делать что надо?
A64m
ну не пару вечеров, конечно
Cheese
ну напиши за пару вечеров аналог
A64m
но лучше бы действительно кто-то сделал аналог
Alexander
вот пока вопрос, не лучше ли в dhall контрибьютить
Alexander
а там правда отличные error messages
A64m
не думаю, что так в нем можно будет что-то значительное изменить
Alexander
у меня без прокрутки терминала их не прочитать правда, там какое-то сочинение было
jm
Пыщ
IC
https://pbs.twimg.com/media/DMLHtKdX0AAwNGN.jpg:large
твоё лицо, когда в твоём языке о ф и г е н н ы е типы
Danila Matveev
нубский вопрос:
Пытаюсь с тестами в хаскелле разобраться (hspec).
Я правильно понимаю, что в тестах видны только exposed-modules и поэтому надо стараться все выносить из executable в library в exposed-modules?
Мне с непривычки это кажется странным (как тестировать тогда other-modules). Может я доки плохо просмотрел, а может так и принято.
IC
в executable вообще лучше по минимуму держать. как раз в связи с тестированием, да
Alexander
internal library вводить
Alexander
и в ней держать other-modules
Alexander
библиотека внутренняя пишется просто как
Alexander
library internal в кабал файле
Alexander
ну вообще любая именованная библиотека явлй яется внутренней и не экспортируется, но ее можно испортировать в тестах
Alexander
с другой стороны other-modules в общем случае это далеко не лучшая затея
Alexander
и неясно зачем так делать
Alexander
ну кроме того, чтобы портить другим жизнь
Cheese
Alexander
кто, когда отказался?
Alexander
я вот сейчас у себя собрал так проект
Alexander
причем тесты в отдельном hs-source-dir им модуля не видно
Alexander
в документации новой тоже это есть
Cheese
просто пару лет назад ходили разговоры, а я год назад нашёл тикет, в котором решили не делать
Alexander
ни разу не видел
Alexander
> Cabal 2.0 and later support “internal libraries”, which are extra named libraries (as opposed to the usual unnamed library section)
Alexander
https://www.haskell.org/cabal/users-guide/developing-packages.html#developing-packages
Alexander
мне интересно common-fields ли запилили
Anonymous
я правильно понимаю что комоноид и моноид это одно и тоже?
Bohdan
Ilya
Я просто развернул все стрелки, а так я не в теме
Anonymous
все сложно
кана
ну, у моноида есть (a, a) -> a, у комоноида a -> (a, a)
и memtpy :: () -> a в a -> ()
comconcat в бесконечный массив развернет
Andrey
а вообще забавно как он лист развернет из мконката )
Ilya
Anonymous
Anonymous
как у нас появляется продукт
Anonymous
и синглтон сет
Anonymous
из одного обьекта
Anonymous
если мы просто стрелки повернули >_>
Кабачок
А зачем моноиду concat?
Anonymous
конвиниенс
Ilya
Когда мы отделяем от строки по одной буковке - это комоноид? Или раскладываем натуральное число в сумму единиц?
Ilya
Пытаюсь придумать какие-то примеры чисто по сигнатуре...
Andrey
а в сумму двоек не катит?
Ilya
Andrey
или в бесконечную сумму нулей, как ту выше предлагали )))
кана
да я хз вообще, я не шарю)
Andrey
а что - бесконечный список мемптев как сомконкат! ) как идея?
Ilya
Ilya
В comappend
Ilya
comconcat 7 = [1, 1, 1, 1, 1, 1, 1, 0, 0, 0...]
comconcat "hask" = ["h", "a", "s", "k", "", "", "", ...]
Ilya
Какой-то бред
Anonymous
лоол
Anonymous
откуда код?
кана
ну очевидная мысль, что комоноид не может быть однозначно определен на таких случаях, как и моноид
кана
но можно какой комоноид Ones определить, который будет по единичкам отделять, или еще что
кана
unFoldMap Ones 4 = [Ones 1, Ones 1, Ones 1, Ones 1, Ones 0, ...]
поиск комоноида по гуглу вообще ничего не дал, так странно
Anonymous
Every set can be made into a comonoid in Set (with the cartesian product) in a unique way. More generally, every object in a cartesian monoidal category can be made into a comonoid in a unique way.
Кабачок
Надо идти в смежный чат и спрашивать @comonoid
Anonymous
ну то есть я понимаю как комоноид работает но почему так и почему с рисунком категории нифига не сходится- нет
Зигохистоморфный
комоноид представитель какого-то то анаморфизма, а эта вещь может развернуться в бесконечность, в отличии от моноида что может свернуться в скаляр (ну такие мне мысли пришли)
Anonymous
Anonymous
хз насколько правильно нарисовал но здесь не видно никакой дуальности
кана
Дык не
Anonymous
🤔
кана
На схемах (у Милевски) моноид рисуют так: есть один объект и у него куча морфизмов на композицию со всеми вариантами. Типа, для String есть (++ ""), (++ "1"), ...
Anonymous
у милевски то как я сверху нарисовал
кана
Я как-то час назад подогнал комоноид под схему Милевски, но чет сейчас понимаю что хрень и такого быть не могло
Anonymous