@haskellru

Страница 1194 из 1551
Mekhrubon
14.05.2018
21:37:19
да, в сорцах как раз и комент такой есть

спасибо

Maxim
15.05.2018
06:34:18
Народ. Есть список [a], я делаю по нему traverse_ функцией a -> IO (), причём для всех элементов списка кроме не более одного функция превращается в return (). Можно как-то после этого одного элемента сделать break? Короче задача найти в списке нужный элемент, если он есть, и сделать с ним какое-то ио

Imants
15.05.2018
06:40:17
Может, разделить эти 2 шага: 1) найти нужный элемент чистой ф вне ио 2) ио с этим элементом ?

Google
Aragaer
15.05.2018
06:40:53
filter + head, а потом io

Maxim
15.05.2018
06:43:11
Гм, filter. Вечно забываю про ленивость!

Nikolay
15.05.2018
06:48:25
Вот у нас есть категория Hask. В ней объекты все типы без дырок? Т.е Maybe Int, [Int] тоже объекты в ней ?

Nikolay
15.05.2018
06:56:33
А как понимать return в монаде? Это морфизмом откуда и куда?

Я про то, что return умеет объект Int перевести в maybe int. Значит ли это что это морфизмом в исходной категории?

Dmitry
15.05.2018
07:05:33
А исходная -- какая?

Nikolay
15.05.2018
07:14:54
Т.к. ты остаешься в Hask
Если у меня функтор maybe, то я перехожу в подкатегории Hask. В ней объекты maybe с конкретным типом. Например просто int там уже нет

Ilya
15.05.2018
07:16:25
Это не отменяет того, что ты останешься в Hask

Google
Nikolay
15.05.2018
07:17:42
Это не отменяет того, что ты останешься в Hask
А как это так, если у нее объекты уже не все?

Ilya
15.05.2018
07:18:17
А как это так, если у нее объекты уже не все?
Образ отображения не обязан совпадать с кодоменом отображения

Alexander
15.05.2018
07:18:37
а у WT как всегда прекрасный пост: https://well-typed.com/blog/2018/05/ghc-special-gc-objects/

Ilya
15.05.2018
07:19:16
Например функция возведения в квадрат действует из R в R, но образ R получается меньше R (только неотрицательные).

Аналогично, функтор не обязан "покрывать" всю категорию, в которую он отображает

Это вообще-то к теории категорий даже отношения не имеет

Nikolay
15.05.2018
07:21:01
Но мы вводим категорию как пятерку. И соответственно я бы предположил, что если у нас у нас есть 2 разных пятерки, то это разные категории

Nikolay
15.05.2018
07:21:55
В нашем случае объектов становится меньше. Значит и морфизмом меньше.

Nikolay
15.05.2018
07:23:02
А какое тогда определение тождественности категорий?

Должно быть определение тождественности, что бы сказать , что категории таковы

Ilya
15.05.2018
07:24:02
full functor не имеет?
Это в любой книжке по алгебре объясняется на первых же страницах (различие между F(X) и Y, для F: X -> Y)

И не важно, будет F функтором, функцией, чем угодно

Oleg
15.05.2018
07:24:46
Это в любой книжке по алгебре объясняется на первых же страницах (различие между F(X) и Y, для F: X -> Y)
Ну тока в этих книжках используется предположение, что мы говорим о множествах

Т.е. для не-локально -маленькой категории это может служить в лучшм случае интуицией

Но вообще, я не с этим спорил

Я спорил с тем, что понятия full /faithful не важны для теорката. Ну или как ты сформулировал "не имеют отношения к нему". Возможно, я неправильно понял посыл

Евгений
15.05.2018
07:29:00
Но мы вводим категорию как пятерку. И соответственно я бы предположил, что если у нас у нас есть 2 разных пятерки, то это разные категории
Ты можешь ввести понятие подкатегории (не очень полезное, но всё равно), и заметить, что если у тебя есть функтор F: X -> Y, а Y -- подкатегория Z, то можно рассмотреть функтор F': X -> Z, заданный аналогичным образом, т.е. F'(A) = F(A) и F'(f) = F(f).

Oleg
15.05.2018
07:30:19
Ааааа сорян посоны, перечитал исходный посыл

Google
Oleg
15.05.2018
07:30:55
Мы говорим не о full/не full. Мы говорим о том, что у функтора не все объекты в образе

Евгений
15.05.2018
07:31:37
Ну да, его смущает, что образ меньше исходной категории

Oleg
15.05.2018
07:32:13
Ну тут сложно сказать "меньше"

Так-то вроде в не слишком заумных языках тайп-конструкторы инъективны

Oleg
15.05.2018
07:33:52
Т.е. в случае эндофунктора для тайп-конструктора мы получаем "такой же по размеру"

Ilya
15.05.2018
07:35:30
Так-то вроде в не слишком заумных языках тайп-конструкторы инъективны
правда опять же, это факт "ниже" теории категорий, и его можно объяснить на простых алебрагических примерах

Nikolay
15.05.2018
07:35:56
Главный вопрос - return это морфиз откуда и куда ?

Ilya
15.05.2018
07:36:12
правда опять же, это факт "ниже" теории категорий, и его можно объяснить на простых алебрагических примерах
f x = 2*x инъективна на N (натуральных числах), но тем не менее в кодомене есть ещё и "лишние" элементы (нечетные числа)

Alexander
15.05.2018
07:36:22
В нашем случае объектов становится меньше. Значит и морфизмом меньше.
для бесконечных множеств такая логика не работает

Oleg
15.05.2018
07:36:49
правда опять же, это факт "ниже" теории категорий, и его можно объяснить на простых алебрагических примерах
Но ведь наоборот лучше по возможности абстрагироваться от нисшей алгебры в категорные эквиваленты по-возможности

Евгений
15.05.2018
07:39:34
a -> f a?
Ну нет, такого типа a (точнее он есть, но я бы не стал стрелки forall a. a -> f a объявлять морфизмами между forall a.a и forall a. f a). Лучше сказать, что return это семейство морфизмов

Nikolay
15.05.2018
07:39:39
Да. Вот fmap - это отображение морфизмов. А return это он что наьоро исходных объектов отображает в набор каких объектов?

Ilya
15.05.2018
07:39:59
Nikolay
15.05.2018
07:40:48
У каждого морфизма есть dom . Что для returna домен ?

Google
Ilya
15.05.2018
07:42:05
Только в худших на свете книжках с динозаврами
типа такой подход уже считается динозаврским? ну окей, не знал

Oleg
15.05.2018
07:44:08
Oleg
15.05.2018
07:50:49
Вооо, #яжговорил
ну в разном контексте это может быть морфизмом, семейством, индесированном объектом или объектом-и-эндофунктором

Евгений
15.05.2018
07:53:07
Ну я говорил про контекст обсуждения. Вообще большие проблемы с этими введениями с этими ассоциациями haskell-теоркат. Надо бы один раз написать правильную денотационную семантику с dcpo-enriched 2-категориями и отсылать к ней. По крайней мере от всех известных мне ловушек интерпретации это поможет

Или нет :(

Pavel
15.05.2018
08:08:07
Ну я говорил про контекст обсуждения. Вообще большие проблемы с этими введениями с этими ассоциациями haskell-теоркат. Надо бы один раз написать правильную денотационную семантику с dcpo-enriched 2-категориями и отсылать к ней. По крайней мере от всех известных мне ловушек интерпретации это поможет
а в свете изучения Хаскеля, как плавно постичь дзен теоркатегории и всей этой идеологической абстракции что применена в Хаскеле? к примеру сейчас просто к синтаксису привыкаю, проходя простые задачи в композиции функций, и вот этой вот в целом понятной части. когда дойду до создания своих типов и освою синтаксис - вот тут станет вопрос: 1. по каким мануалам / манускриптам осваивать все эти абстракции морфизмов 2. и как не упороться в высокие абстракции в которых не ясно будет насколько абстракция над абстракциями достаточно, чтоб как-то пошагам постигать абстракции В общем если кто-то может поделиться подобной инфой - поделитесь плиз

Андрей
15.05.2018
08:09:07
Тайпклассопедия для начала, как референс

Leonid
15.05.2018
08:16:11
разве какой-нибудь Coq не удобнее для веселья с теоркатом?

Alex
15.05.2018
08:18:05
Coq (фр. coq — петух) — интерактивное программное средство доказательства теорем

Pavel
15.05.2018
08:20:08
о как, есть какие-то рекомендуемые ресурсы чтоб это посмотреть / опробовать ?

Grigory
15.05.2018
08:21:19
и был какойто бложик русский старый на жж про кок; мне в свое время помог

если найду вброшу

Pavel
15.05.2018
08:22:02
у кока оч хороший офф сайт
похоже кто такой кок - я тоже пока не знаю ?

Grigory
15.05.2018
08:22:44
и коку оч близок f* (к галлине видимо надо говорить (Gallina)) ; он по современее; правда не пруф асистант вообще

похоже кто такой кок - я тоже пока не знаю ?
все верно, французы извращенцы

Google
Евгений
15.05.2018
08:24:13
разве какой-нибудь Coq не удобнее для веселья с теоркатом?
Ну я не про веселье говорю, а про семантику всё-таки

Leonid
15.05.2018
08:25:15
опять трудности себе выдумываете. Лишь бы на хаскеле не писать

Dmitry
15.05.2018
08:25:24
лишь бы теоркат не изучать

Leonid
15.05.2018
08:26:08
какой смысл от теорката в хаскеле, когда hask не категория?

Евгений
15.05.2018
08:26:25
Hask — dcpo-enriched категория

Плюс если "забыть" все термы без нормальной формы, то категория

Leonid
15.05.2018
08:27:16
Вот вечно админы с яваскриптерами за теоркат топят.

А потом у людей искаженные представления о реальности

Dmitry
15.05.2018
08:27:49
согласен

но топикстартеру теоркат или хаскель?

Евгений
15.05.2018
08:27:58
Leonid
15.05.2018
08:28:24
В реальности в хаскеле будешь мучаться с исключениями и дедлоками. И еще с забытыми бангами в полях.

Александр
15.05.2018
08:28:31
Самый простой способ хапнуть заблуждений насчет Хаскеля - это думать, что нужен какой-то там теоркат или прочий матан, напороться на сложности, вообще не связанные с изучением Хаскеля, и бросить его.

Leonid
15.05.2018
08:29:33
С компиляцией генериков
и переписыванием на TH

Евгений
15.05.2018
08:30:18
Вообще я за то, чтобы отсюда прогоняли в теоркаточат

Евгений
15.05.2018
08:31:07
ссаными тряпками.
Фу, хейт-спич какой-то

Anton
15.05.2018
08:32:13
о как, есть какие-то рекомендуемые ресурсы чтоб это посмотреть / опробовать ?
лучший ресурс для начинающих - это https://softwarefoundations.cis.upenn.edu/

Страница 1194 из 1551