Size: a a a

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

2018 November 28

ЗП

Зигохистоморфный Препроморфизм in Теория категорий
например квантовая физика
источник

D

Darwin in Теория категорий
Зигохистоморфный Препроморфизм
например квантовая физика
А есть что почитать по этой теме?
источник

ЗП

Зигохистоморфный Препроморфизм in Теория категорий
Darwin
А есть что почитать по этой теме?
наверное
http://www.cs.ox.ac.uk/bob.coecke/Cats.pdf
ну и соответствующий вопрос в гугле
источник

KV

Kirill Valyavin in Теория категорий
Rosetta Stone например
источник

D

Darwin in Теория категорий
Спасибо!
источник

ЗП

Зигохистоморфный Препроморфизм in Теория категорий
Kirill Valyavin
Rosetta Stone например
TK и есть этот камень)
источник

ЗП

Зигохистоморфный Препроморфизм in Теория категорий
Darwin
Спасибо!
в общем можешь отталкиваться отсюда
https://wiki2.org/en/Categorical_quantum_mechanics
источник

D

Darwin in Теория категорий
О, круто, спасибо. А то когда последний раз сталкивался с фейнмановскими диаграммами и всякими поворотами симметрий, гипотетически преобразующими элементарные частицы друг в друга, прям думал, что всё это подозрительно напоминает стрелки с морфизмами и если б не был таким ленивым, надо бы сесть и порисовать. А народ уже занимается этим вовсю оказывается.
источник

D

Darwin in Теория категорий
Nikolay
ФП взялось как следствие чистоты стрелок. Если программа композиция чистых функций, то получается ФП.
Я тут согласен с @odomontois. Требование чистоты — это необходимое условие для того чтобы была возможна денотация, то есть запись соотвествующим коду структур на бумаге (и соотвественно нотация, когда мы определяем какой-нибудь моноид и записываем его инстансы).

Но ФП сводить только к языкам с обязательной чистотой, по сути к хаскелю, это нелепо. Там в основном хаскель-чяте кто-то даже в порыве пуризма доказывал, что лисп не функциональный, что очевидная нелепость. Так что термин и правда размытый.

А про рассмотрение языка как категорию — это про категрию Hask — https://habr.com/post/133277/
И объекты там это типы, всё правильно.
источник

ЗП

Зигохистоморфный Препроморфизм in Теория категорий
Darwin
Я тут согласен с @odomontois. Требование чистоты — это необходимое условие для того чтобы была возможна денотация, то есть запись соотвествующим коду структур на бумаге (и соотвественно нотация, когда мы определяем какой-нибудь моноид и записываем его инстансы).

Но ФП сводить только к языкам с обязательной чистотой, по сути к хаскелю, это нелепо. Там в основном хаскель-чяте кто-то даже в порыве пуризма доказывал, что лисп не функциональный, что очевидная нелепость. Так что термин и правда размытый.

А про рассмотрение языка как категорию — это про категрию Hask — https://habr.com/post/133277/
И объекты там это типы, всё правильно.
источник

D

Darwin in Теория категорий
Oleg ℕizhnik
Если программа состоит из не очень чистых процедур, или методов, или логических выводов мы всё равно можем моделировать её в ТК
Ну по идее семантика интересна, когда она может каждую синтаксическую конструкцию языка описать
источник

N

Nikolay in Теория категорий
Oleg ℕizhnik
Если программа состоит из не очень чистых процедур, или методов, или логических выводов мы всё равно можем моделировать её в ТК
Но не нарушится ли тогда свойство ассоциативности ? У нас же должно быть( f*g)*h= f*(g*h). Если у нас меняется глобальный стэйт , что часто в императивных языках , то легко сломать ассоциативность. Например при вызове g взводится глобальная переменная в true, а при вычислении f смотрим на эту переменную
источник

NI

Nick Ivanych in Теория категорий
Nikolay
ФП взялось как следствие чистоты стрелок. Если программа композиция чистых функций, то получается ФП.
ФП взялось, как язык поверх лямбда-исчисления.
Остальное, это "языки с возможностями функционального программирования".
Категорных (типизированных) языков всего-то пару штук можно назвать, и то, только один из этих двух (Charity) большинство людей, может быть, вообще видело.
Я бы не назвал их уж функциональным программированием, хотя и близко, конечно.
Во всяком случае, тоже всё вокруг да около CCC с индуктивными типами.
источник

NI

Nick Ivanych in Теория категорий
Kirill Valyavin
Rosetta Stone например
Где-то должно быть на русском...
Я даже участвовал в ентом переводе...
источник

NI

Nick Ivanych in Теория категорий
Darwin
О, круто, спасибо. А то когда последний раз сталкивался с фейнмановскими диаграммами и всякими поворотами симметрий, гипотетически преобразующими элементарные частицы друг в друга, прям думал, что всё это подозрительно напоминает стрелки с морфизмами и если б не был таким ленивым, надо бы сесть и порисовать. А народ уже занимается этим вовсю оказывается.
Это не стрелки с морфизмами напоминает, а моноидальные (струнные) диаграммы.
источник

NI

Nick Ivanych in Теория категорий
Darwin
Я тут согласен с @odomontois. Требование чистоты — это необходимое условие для того чтобы была возможна денотация, то есть запись соотвествующим коду структур на бумаге (и соотвественно нотация, когда мы определяем какой-нибудь моноид и записываем его инстансы).

Но ФП сводить только к языкам с обязательной чистотой, по сути к хаскелю, это нелепо. Там в основном хаскель-чяте кто-то даже в порыве пуризма доказывал, что лисп не функциональный, что очевидная нелепость. Так что термин и правда размытый.

А про рассмотрение языка как категорию — это про категрию Hask — https://habr.com/post/133277/
И объекты там это типы, всё правильно.
> в порыве пуризма доказывал, что лисп не функциональный,
> что очевидная нелепость.
> Так что термин и правда размытый.

Функциональный, это основанный на лямбда-исчислении.
Что про лисп можно сказать с большим сомнением.
А вот тот же окамл тут "вне подозрений", несмотря на то, что нечистые возможности у него не уступают лиспам.
источник

Oℕ

Oleg ℕizhnik in Теория категорий
Nikolay
Но не нарушится ли тогда свойство ассоциативности ? У нас же должно быть( f*g)*h= f*(g*h). Если у нас меняется глобальный стэйт , что часто в императивных языках , то легко сломать ассоциативность. Например при вызове g взводится глобальная переменная в true, а при вычислении f смотрим на эту переменную
Ты можешь моделировать стейт как отдельный объект
источник

Oℕ

Oleg ℕizhnik in Теория категорий
Т.е. морфизмы, например, вида (A х State) -> (B х State)
источник

Oℕ

Oleg ℕizhnik in Теория категорий
Функции, выбрасыващие ошибки - как морфизмы с доменом (B + Error)
источник

NI

Nick Ivanych in Теория категорий
Oleg ℕizhnik
Ты можешь моделировать стейт как отдельный объект
Про моделирование эффектов функциональщиной всё понятно.
Грубо говоря, товарищ спрашивал про "unsafePerformIO", если я правильно понял.
источник