Size: a a a

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

2018 March 31

Oℕ

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

VY

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

KV

Kirill Valyavin in Теория категорий
И мне не понятно. В чём проблема-то?
источник

Oℕ

Oleg ℕizhnik in Теория категорий
ну ни в чём, просто Void - не инициальный объект
источник

KV

Kirill Valyavin in Теория категорий
Почему?
источник

Oℕ

Oleg ℕizhnik in Теория категорий
потому что мы построили два существенно различных морфизма в объект ()
источник

VY

Vasiliy Yorkin in Теория категорий
ну там вроде объясняется в этой статье в вики в подробностях почему вообще "Hask is not Cartesian closed"
я раньше не думал об этом "Actual Hask does not have sums, products, or an initial object, and () is not a terminal object"
источник

KV

Kirill Valyavin in Теория категорий
А, я понял. Потому что днище в любом типе лежит
источник

KV

Kirill Valyavin in Теория категорий
Ну, никто ж не запрещает не пользоваться днищем
источник

Oℕ

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

KV

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

Oℕ

Oleg ℕizhnik in Теория категорий
даже если выкинуть встроенные undefined и error
источник

Oℕ

Oleg ℕizhnik in Теория категорий
ты всегда можешь построить runIndentity $ forever $ return ()
источник

KV

Kirill Valyavin in Теория категорий
Честно говоря, я могу себе разрешить и этим тоже не пользоваться
источник

Oℕ

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

Oℕ

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

VY

Vasiliy Yorkin in Теория категорий
я к этому вопросу из лекций Бартоза пришел, по тк когда объяснялось почему a^0 = 1:
"В Haskell, мы заменяем 0 на Void, 1 на единичный тип (), а экспоненциал на функциональ- ный тип. Утверждается, что множество функций от Void к любому типу а эквивалентно единичному типу, который является синглетоном. Другими словами, существует только одна функция Void -> а. Мы уже сталкивались с этой функцией: она называется absurd."

сначала напрягло "только одна" и вот отсюда пошли эти не здоровые мысли :)
да, пожалуй с использованием аналогий из этих языков нужно просто всегда держать в голове эти оговорки и не париться :)
источник

KV

Kirill Valyavin in Теория категорий
Эх, вот бы у меня был тоталити-чекер
источник

Oℕ

Oleg ℕizhnik in Теория категорий
Vasiliy Yorkin
я к этому вопросу из лекций Бартоза пришел, по тк когда объяснялось почему a^0 = 1:
"В Haskell, мы заменяем 0 на Void, 1 на единичный тип (), а экспоненциал на функциональ- ный тип. Утверждается, что множество функций от Void к любому типу а эквивалентно единичному типу, который является синглетоном. Другими словами, существует только одна функция Void -> а. Мы уже сталкивались с этой функцией: она называется absurd."

сначала напрягло "только одна" и вот отсюда пошли эти не здоровые мысли :)
да, пожалуй с использованием аналогий из этих языков нужно просто всегда держать в голове эти оговорки и не париться :)
ну в общем, если не загоняться по поводу боттома и MonadFix Identity нет никаких проблем
источник

KV

Kirill Valyavin in Теория категорий
Но пример из PureScript же всё равно ни о чём не говорит?
источник