Семинар по языкам программирования и компиляторам

16 ноября, в среду, в 15:30, ауд. 312, состоится доклад: Зипперы, дифференцирование, обобщённые зипперы

Докладчик: А. Болотина (3 курс ФИИТ).

1 лайк

На сегодняшнем докладе мы дифференцировали список:

Я не понял последний переход :disappointed_relieved: Может, кто-то пояснит. Ну а если ещё кто-то напишет производную дерева, то будет совсем хорошо (по крайней мере, мне).

Отвечая на возможный вопрос: подчёркивание-z означает, что z не входит свободно в данный терм.

1 лайк

Во введённых обозначениях пример с дифференцированием дерева, я думаю, будет выглядеть так:

Похожий пример разобран здесь. Предпоследний переход можно сделать, считая, что список конечный — тогда его базу рекурсии, которой здесь является 1 + (tree a)2, можно вынести отдельно от списка и заменить на пустой список.

Полученный тип — это тип одноместного контекста, то есть дерева с одним «выколотым» узлом, это хорошо изображено вот на такой картинке:

Здесь выколотым является значение типа a в текущем узле, list (2 × a × (tree a)) — это путь от текущего узла к корню, а 1 + (tree a)2 — корни поддеревьев текущего узла, если он не является листом. А типом зиппера для дерева будет a × ∂atree a. Чтобы получить тип кадров контекста — если рассматривать контекст как стек, — нужно продифференцировать тип дерева по (tree a), тогда мы получим:

Вот первая часть презентации с моего вчерашнего доклада: generic-zippers.pdf (572,4 КБ). В конце есть слайд со ссылками на статьи, использованные при подготовке доклада.

2 лайка

В ближайшую среду — продолжение доклада по зипперам: будут построены обобщённые зипперы!

Докладчик: А. Болотина. Время: 15:30. Дата: 30 ноября Место: ауд. 312.

Презентация к моему докладу: generic-zippers.pdf (687,1 КБ).

2 лайка

14 декабря, в среду, в 15:40, ауд. 312, состоится доклад:

Управление вычислительными эффектами. Язык программирования Frank

Докладчик: Г. Лукьянов (2 курс магистратуры ФИИТ).

Аннотация. Доклад разделён на две части. В первой части слушатели будут ознакомлены с проблематикой управления вычислительными (побочными) эффектами: основные понятия, примеры реализации в традиционных языках функционального программирования, обзор имеющихся преимуществ и недостатков. Во второй части будет представлен разработанный К. Макбрайдом язык программирования Frank, который был изначально спроектирован для решения известных проблем в управлении эффектами — в отличие от большинства известных языков программирования. Будет рассмотрен ряд модельных примеров для иллюстрации реализованных в языке Frank концепций.

2 лайка

Публикую ссылку на репозиторий с примерами кода на Frank и слайдами.

2 лайка

28 декабря в 15:30 состоится доклад на тему “Паттерн мэтчинг: синтаксис и реализация в различных языках программирования”.

Докладчик: А. Захаренко (1 курс магистратуры ФИИТ)

Аннотация. В первой части доклада будет рассмотрен синтаксис различных видов паттерн мэтчинга в нескольких языках программирования (как функциональных, так и объектно-ориентированных). Вторая часть доклада будет посвящена реализации паттерн мэтчинга в компиляторе Roslyn языка C# и в функциональном языке F#. Будут рассмотрены идеи реализации и возникающие проблемы.

Мы продолжаем семинары по языкам программирования и компиляторам.

9 марта в 16:30 состоится доклад А. Головешкина “Сквозная функциональность и её анализ в грамматике языка программирования”

Аудитория уточняется. Постараемся сохранить 312 аудиторию.

Не будут ли опубликованы слайды к докладу (если таковые были)?

16 марта в 16.30 состоится доклад С. Михалковича на тему “Книга А.Л.Фуксмана Технологические аспекты создания программных систем и идея расслоённого программирования”

31 марта в 15:30 состоится внеочередное сокращённое заседание семинара с докладом А.М.Пеленицына “Лаборатория языков программирования Northeastern University и задачи, которые в ней решаются”. Обсуждение закончится не позже 16:30 (в связи с последующей лекцией по теории категорий). Сбор у ауд. 312 для последующего определения, в какой аудитории найдётся место.

3 лайка

23 марта в 16.30 состоится доклад Б. Волошина “Статья Type-sound Syntactic Language Extension” (часть 1)

1 лайк

20 апреля в 16.30 состоится продолжение доклада Б. Волошина “Статья Type-sound Syntactic Language Extension” (часть 2)

1 лайк

27 апреля в 16.30 состоится доклад А. Захаренко по статье “EVF: An Extensible and Expressive Visitor Framework for Programming Language Reuse” Оливейры.

1 лайк

Напоминаю об очередном заседании семинара 27 апреля.

Презентация доклада “EVF: An Extensible and Expressive Visitor Framework for Programming Language Reuse”: EVF.pdf (1,3 МБ)

1 лайк

11 мая в 16.30 состоится заключительная часть доклада Б. Волошина “Статья Type-sound Syntactic Language Extension”

Встреча семинара 18 мая в 16:30 (а. 312) будет посвящена компилятору GHC языка Haskell: сначала Виталий Брагилевский сделает доклад об устройстве компилятора в целом, а затем Денис Мирзоев в коротком сообщении расскажет о собственном решении проблемы отрицательных вещественных нулей.

Презентация доклада «Построение обобщённого зиппера средствами generics-sop»: generics-sop-zippers.pdf (401,7 КБ).