Skip to content

Commit

Permalink
+ SSA algebras
Browse files Browse the repository at this point in the history
  • Loading branch information
TurtlePU committed Oct 7, 2024
1 parent 6dd7b03 commit 675b093
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions docs/projects/catcomp.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,38 @@ tags:
---

# Теоретико-категорный подход к компиляции и интерфейсу внешних функций

## Описание

Есть такая статья, написанная Вашим покорным слугой:
[SSA Algebras](https://system-informatics.ru/en/article/323).

Основная идея заключается в том, что
[форма SSA](https://en.wikipedia.org/wiki/Static_single-assignment_form)
с небольшой корректировкой определения оказывается простым и полезным
математическим объектом, имеющим достаточно много полезных свойств. В частности,
программы в форме SSA образуют
[категорию](https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F_%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B9).

В актуальной [презентации](https://drive.google.com/file/d/1_jdKgqDRVHApvoh8Tywq0GDn3APYpBiw/view)
указан набор правок оригинального текста и новых теорем и продвижений.
Предлагается взяться за дальнейшее изучение этого математического объекта с,
возможно, последующей публикацией результатов.

Предстоящие задачи:

* изучить построенный математический объект;
* произвести сравнение с категорией портов
(часть 5 в [7 Sketches in Compositionality](https://arxiv.org/pdf/1803.05316));
* произвести сравнение с конструкцией Free Monad в функциональном
программировании;
* построить категорию с
[произведениями](https://en.wikipedia.org/wiki/Product_(category_theory))
на основе SSA;
* формализовать компиляцию и интерфейс внешних функций
(взаимодействие нескольких языков) в рамках данного теоретического фреймворка.

## Тестовое задание

Разобраться в актуальной презентации и всех необходимых определениях и обсудить
на собеседовании.

0 comments on commit 675b093

Please sign in to comment.