
Дмитрий Булычев
Исследовательские группы
Биография
Родился в Красноярске в 1970 году. Через десять лет переехал в Ленинград, где в 1987-м окончил среднюю школу № 384. В том же году поступил в ЛГУ (ныне СПбГУ), обучался последовательно на математико-механическом, биолого-почвенном и вновь математико-механическом факультетах, последний из которых и окончил в 1994 году.
В 1994—2012 гг. — разработчик в области языков программирования, компиляторов и языковых инструментов. Занимался такими проектами, как RescueWare (средство реинжиниринга, Relativity Technologies), IntelliJ IDEA (среда разработки, JetBrains), HaSCoL (язык описания аппаратного уровня, стартап).
Дмитрий преподает на кафедре системного программирования математико-механического факультета СПбГУ с момента ее создания в 1999 году. В 2004-м защитил диссертацию на соискание степени кандидата физико-математических наук («Прототипирование встроенных систем на основе описания макроархитектуры», под руководством проф. А. Н. Терехова). В настоящее время — доцент кафедры системного программирования и сотрудник JetBrains.
В 1994—1999 гг. параллельно с основной деятельностью обучался на кафедре музыкального искусства эстрады в Санкт-Петербургском государственном университете культуры и искусств, который окончил по специальности «джазовое фортепиано». Иногда принимает участие в местных концертах.
Профессиональная активность
- Разработка и реализация языков программирования
- Статический анализ
- Функциональное программирование
- Типы данных в языках программирования
- Семантика языков программирования
- Сертификационное программирование
Публикации
An Empirical Study of Partial Deduction for MiniKanren
Март 2021
Ekaterina Verbitskaia, Daniil Berezun, Dmitry Boulytchev
Reimplementing the Wheel: Teaching Compilers with a Small Self-Contained One
2021
Daniil Berezun, Dmitry Boulytchev
Relational Interpreters for Search Problems
2019
Certified Semantics for miniKanren
2019
Improving Refutational Completeness of Relational Search via Divergence Test
2018
Typed Relational Conversion
2018
Petr Lozov, Andrey Vyatkin, Dmitry Boulytchev
18th International Symposium on Trends in Functional Programming
Combinators and Type-Driven Transformers in Objective Caml
2015
Dmitry Boulytchev
Precise Garbage Collection for C++ with a Non-Cooperative Compiler
2014
Daniil Berezun, Dmitry Boulytchev
Polynomial-Time Optimal Pretty-Printing Combinators with Choice
2014
Anton Podkopaev, Dmitry Boulytchev
Efficiently Scrapping Boilerplate Code in OCaml
2011
Dmitry Boulytchev, Sergey Mechtaev
Hardware Description Language Based on Message Passing and Implicit Pipelining
2010
Dmitry Boulytchev, Oleg Medvedev
BURS-based Instruction Set Selection
2006
Dmitry Boulytchev
Cooking Raw Types in Java
2005
Dmitry Boulytchev, Eugene Vigdorchik
Macroarchitecture Description Language for Hardware/Software Codesign (in Russian)
2004
Dmitry Boulytchev
Macroarchitecture Description for Hardware/Software Codesign (in Russian)
2004
Dmitry Boulytchev
On Project-Specific Languages and Their Application in Reengineering
2002
Dmitry Boulytchev, Dmitry Koznov, Andrey A. Terekhov
An Empirical Study of Retargetable Compilers
2001
Dmitry Boulytchev, Dmitry Lomov
Pattern-matching and Identification of Structural Types in PL/1 (in Russian)
2000
Dmitry Boulytchev