Лаборатория
языковых инструментов

Лаборатория была основана в 2012 году Дмитрием Булычевым и с тех пор занимается научными исследованиями по теории языков программирования. Основные темы:

  • реляционное и логическое программирование;
  • слабые модели памяти и параллелизм;
  • метапрограммирование, метавычисления и частичная оценка;
  • семантика и типы языков программирования;
  • сертифицированное программирование и механизированные доказательства;
  • функциональное программирование;
  • теория формальных языков.

Еще одно важное направление деятельности лаборатории — образовательное. Лаборатория открыта как для студентов, так и для выпускников вузов: они участвуют в исследовательских проектах и могут присоединиться к программам для аспирантов. Кроме того, сотрудники лаборатории готовят, проводят и организуют курсы по следующим темам:

  • разработка компиляторов;
  • метавычисления;
  • формальные языки;
  • семантика языков программирования;
  • введение в проектирование механизированных доказательств в Coq.

Помимо этого, лаборатория также проводит:

  • еженедельный семинар по теории и практике языков программирования;
  • открытые бесплатные курсы по темам, связанным с направлениями исследований лаборатории;
  • летние стажировки в JetBrains, где студенты могут в течение 1–3 месяцев поработать в компании;
  • ежегодную мини-конференцию, где студенты представляют свои курсовые и дипломные работы, а также результаты летних стажировок;
  • семинар по чтению и написанию статей, участники которого учатся правильно читать, анализировать и писать научные статьи.

Набор в лабораторию открыт постоянно. Верный способ попасть в нее — это посещать еженедельный семинар или один из открытых курсов. Кроме этого, можно выбрать себе тему курсовой или дипломной работы из списка лаборатории.

Проекты

Активные

Даниил Березун

Patching OCaml and ML-like languages

Задача этого проекта — создание новых функций в языках семейства ML и разработка патчей для исправления временных или плохо продуманных возможностей языка, например полиморфных вариантов, активных паттернов и модулей.

Даниил Березун

Metacomputations

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

Неактивные

Даниил Березун

Semi-local Algorithms

Задача проекта — развитие и практическое использование алгоритмов решения полулокальных задач поиска LCS и SA.

Семинары

Семинары в лаборатории проходят каждую неделю, вход свободный. На семинарах мы обсуждаем результаты классических и современных исследований в области языков программирования и языковых инструментов.

Присоединяйтесь к нашей meetup-группе, чтобы быть в курсе предстоящих встреч.

Рекомендуем наши семинары кураторам, выпускникам и всем студентам.

Архив анонсов

Сезонные школы

Цель зимних и летних школ — собрать вместе заинтересованных студентов, аспирантов и разработчиков и дать им возможность пообщаться с выдающимися учеными. Каждая школа посвящена какой-то конкретной теме, чтобы участники могли всего за пять дней глубоко погрузиться в работу и пройти большой курс, который в другой ситуации занял бы целый семестр. Выбираются самые актуальные темы, касающиеся языков программирования, компиляторов, развития языковых инструментов.

Состав

Антон Подкопаев
Руководитель лаборатории
Даниил Березун
Руководитель группы
Евгений Моисеенко
Исследователь
Екатерина Вербицкая
Исследователь

Бывшие сотрудники

Dmitry Boulytchev
Семен Григорьев
Дмитрий Мордвинов
Ekaterina Shemetova