16 ноября, в среду, в 15:30, ауд. 312, состоится доклад: Зипперы, дифференцирование, обобщённые зипперы
Докладчик: А. Болотина (3 курс ФИИТ).
16 ноября, в среду, в 15:30, ауд. 312, состоится доклад: Зипперы, дифференцирование, обобщённые зипперы
Докладчик: А. Болотина (3 курс ФИИТ).
На сегодняшнем докладе мы дифференцировали список:
Я не понял последний переход Может, кто-то пояснит. Ну а если ещё кто-то напишет производную дерева, то будет совсем хорошо (по крайней мере, мне).
Отвечая на возможный вопрос: подчёркивание-z означает, что z не входит свободно в данный терм.
Во введённых обозначениях пример с дифференцированием дерева, я думаю, будет выглядеть так:
Похожий пример разобран здесь. Предпоследний переход можно сделать, считая, что список конечный — тогда его базу рекурсии, которой здесь является 1 + (tree a)2, можно вынести отдельно от списка и заменить на пустой список.
Полученный тип — это тип одноместного контекста, то есть дерева с одним «выколотым» узлом, это хорошо изображено вот на такой картинке:
Здесь выколотым является значение типа a в текущем узле, list (2 × a × (tree a)) — это путь от текущего узла к корню, а 1 + (tree a)2 — корни поддеревьев текущего узла, если он не является листом. А типом зиппера для дерева будет a × ∂atree a. Чтобы получить тип кадров контекста — если рассматривать контекст как стек, — нужно продифференцировать тип дерева по (tree a), тогда мы получим:
Вот первая часть презентации с моего вчерашнего доклада: generic-zippers.pdf (572,4 КБ). В конце есть слайд со ссылками на статьи, использованные при подготовке доклада.
В ближайшую среду — продолжение доклада по зипперам: будут построены обобщённые зипперы!
Докладчик: А. Болотина. Время: 15:30. Дата: 30 ноября Место: ауд. 312.
14 декабря, в среду, в 15:40, ауд. 312, состоится доклад:
Управление вычислительными эффектами. Язык программирования Frank
Докладчик: Г. Лукьянов (2 курс магистратуры ФИИТ).
Аннотация. Доклад разделён на две части. В первой части слушатели будут ознакомлены с проблематикой управления вычислительными (побочными) эффектами: основные понятия, примеры реализации в традиционных языках функционального программирования, обзор имеющихся преимуществ и недостатков. Во второй части будет представлен разработанный К. Макбрайдом язык программирования Frank, который был изначально спроектирован для решения известных проблем в управлении эффектами — в отличие от большинства известных языков программирования. Будет рассмотрен ряд модельных примеров для иллюстрации реализованных в языке Frank концепций.
28 декабря в 15:30 состоится доклад на тему “Паттерн мэтчинг: синтаксис и реализация в различных языках программирования”.
Докладчик: А. Захаренко (1 курс магистратуры ФИИТ)
Аннотация. В первой части доклада будет рассмотрен синтаксис различных видов паттерн мэтчинга в нескольких языках программирования (как функциональных, так и объектно-ориентированных). Вторая часть доклада будет посвящена реализации паттерн мэтчинга в компиляторе Roslyn языка C# и в функциональном языке F#. Будут рассмотрены идеи реализации и возникающие проблемы.
Мы продолжаем семинары по языкам программирования и компиляторам.
9 марта в 16:30 состоится доклад А. Головешкина “Сквозная функциональность и её анализ в грамматике языка программирования”
Аудитория уточняется. Постараемся сохранить 312 аудиторию.
Не будут ли опубликованы слайды к докладу (если таковые были)?
16 марта в 16.30 состоится доклад С. Михалковича на тему “Книга А.Л.Фуксмана Технологические аспекты создания программных систем и идея расслоённого программирования”
31 марта в 15:30 состоится внеочередное сокращённое заседание семинара с докладом А.М.Пеленицына “Лаборатория языков программирования Northeastern University и задачи, которые в ней решаются”. Обсуждение закончится не позже 16:30 (в связи с последующей лекцией по теории категорий). Сбор у ауд. 312 для последующего определения, в какой аудитории найдётся место.
23 марта в 16.30 состоится доклад Б. Волошина “Статья Type-sound Syntactic Language Extension” (часть 1)
20 апреля в 16.30 состоится продолжение доклада Б. Волошина “Статья Type-sound Syntactic Language Extension” (часть 2)
27 апреля в 16.30 состоится доклад А. Захаренко по статье “EVF: An Extensible and Expressive Visitor Framework for Programming Language Reuse” Оливейры.
Напоминаю об очередном заседании семинара 27 апреля.
Презентация доклада “EVF: An Extensible and Expressive Visitor Framework for Programming Language Reuse”: EVF.pdf (1,3 МБ)
11 мая в 16.30 состоится заключительная часть доклада Б. Волошина “Статья Type-sound Syntactic Language Extension”
Встреча семинара 18 мая в 16:30 (а. 312) будет посвящена компилятору GHC языка Haskell: сначала Виталий Брагилевский сделает доклад об устройстве компилятора в целом, а затем Денис Мирзоев в коротком сообщении расскажет о собственном решении проблемы отрицательных вещественных нулей.
Презентация доклада «Построение обобщённого зиппера средствами generics-sop»: generics-sop-zippers.pdf (401,7 КБ).