Size: a a a

Теория категорий

2018 March 31

Oℕ

Oleg ℕizhnik in Теория категорий
"только одна" значит что все остальные ей эквивалентны
источник

VY

Vasiliy Yorkin in Теория категорий
ну да, если так, то понятно
хотя действительно, причем тут реализация на конкретном языке, с тз теории все в порядке
источник

Oℕ

Oleg ℕizhnik in Теория категорий
при чём
источник

Oℕ

Oleg ℕizhnik in Теория категорий
вполне при чём, повод вспомнить, что Hask - не категория
источник

VY

Vasiliy Yorkin in Теория категорий
ну вот я взял два различных языка и у них по-разному определен тип Void вообще,
можно ли сказать, что поэтому сравнивать реализации absurd между ними будет не корректно?
вот я думаю, что раз отличаются определения типов и реализации инициальных и терминальных объектов, то сравнивать уже нельзя и это разные категории в разных языках
одна – Hask, другая – "Pursk" (например, лол) %)
источник

KV

Kirill Valyavin in Теория категорий
Oleg ℕizhnik
вполне при чём, повод вспомнить, что Hask - не категория
Заворачиваение Void в обёртку как-то связано с нарушением категорных аксиом?
источник

Oℕ

Oleg ℕizhnik in Теория категорий
Kirill Valyavin
Заворачиваение Void в обёртку как-то связано с нарушением категорных аксиом?
кажется, да
источник

Oℕ

Oleg ℕizhnik in Теория категорий
повод вспомнить, как много разных способов есть получить различные между собой bottom
источник

Oℕ

Oleg ℕizhnik in Теория категорий
по сути в этом ведь они и нарушаются
источник

KV

Kirill Valyavin in Теория категорий
Vasiliy Yorkin
как можно это "интерпретировать" с тз тк?
absurd :: Void -> a
absurd a = case a of {}

в пурсе тo же:
newtype Void = Void Void
absurd :: forall a. Void -> a
absurd a = spin a
 where
 spin (Void b) = spin b

должна же быть всего одна ф-ция absurd,
а оказывается их пару штук можно создать
(как бы странно это ни звучало, ну я понимаю что это к теории мало имеет отношения, это именно различия в "реализации")
А это вообще откуда такое?
источник

VY

Vasiliy Yorkin in Теория категорий
верхняя ф-ция из Haskell, нижнее из PureScript
источник

KV

Kirill Valyavin in Теория категорий
Ну вот я про нижнее. В прелюдии Void определён как пустой тип, как и должно быть
источник

KV

Kirill Valyavin in Теория категорий
А ой
источник

KV

Kirill Valyavin in Теория категорий
Нет
источник

VY

Vasiliy Yorkin in Теория категорий
в общем я считаю что не корректно сравнивать разные категории из разных языков
ну т.е. корректно, но не так типа "я нашел 2 фции absurd в двух разных категориях"
источник

Oℕ

Oleg ℕizhnik in Теория категорий
Но можно и в одной
источник

Oℕ

Oleg ℕizhnik in Теория категорий
два существенно разных абсурда построить
источник

VY

Vasiliy Yorkin in Теория категорий
ооо, тогда это поломает же все, так же нельзя (с тз теории)
источник

Oℕ

Oleg ℕizhnik in Теория категорий
отсюда

https://wiki.haskell.org/Hask#Is_Hask_even_a_category.3F

r ~ ()
u1 r = case r of {}
u2 _ = ()

u1 undefined = undefined
u2 undefined = ()
источник

VY

Vasiliy Yorkin in Теория категорий
ну да, на практике можно, поэтому действительно определение с участием изоморфизма тут только справедливо
все, понятно
источник