Леммель, Ральф: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
м →‎Преамбула: викификация
обновление цифр и ссылка на книгу
Строка 2: Строка 2:
| Имя = Ральф Леммель
| Имя = Ральф Леммель
| Оригинал имени = Ralf Lämmel
| Оригинал имени = Ralf Lämmel
| Изображение = [[File:Ral fLaemmel.jpg|thumb|Ralf Laemmel]]
| Изображение = Ral fLaemmel.jpg
| Ширина =
| Ширина =
| Описание изображения =
| Описание изображения =
| Гражданство = [[Германия]]
| Гражданство = [[Германия]]
| Научная сфера = [[информатика]]
| Научная сфера = [[информатика]]
| Место работы = [[Ростокский университет]]<br>[[Центр математики и информатики]]<br>[[Свободный университет Амстердама]]<br>[[Microsoft]]<br>{{нп5|Университет Кобленца-Ландау||de|Universität Koblenz-Landau}}
| Место работы = [[Ростокский университет]]<br>[[Центр математики и информатики]]<br>[[Свободный университет Амстердама]]<br>[[Microsoft]]<br>{{нп5|Университет Кобленца-Ландау||de|Universität Koblenz-Landau}}<br>[[Facebook]]
| Учёная степень = [[доктор философии]]
| Учёная степень = [[доктор философии]]
| Учёное звание = профессор
| Учёное звание = профессор
Строка 21: Строка 21:
| Викисклад =
| Викисклад =
}}
}}
'''Ральф Леммель''' — немецкий учёный, профессор {{нп5|Университет Кобленца-Ландау|Университета в Кобленце и Ландау|de|Universität Koblenz-Landau}}, декан факультета информатики<ref name="cv">[http://softlang.wikidot.com/rlaemmel:bio CV/Bio Ralf Lämmel: Short bio; Long bio].</ref>. Входит в список самых плодовитых авторов научных статей по версии [[DBLP]] как имеющий около 150 опубликованных работ<ref>[http://dblp.uni-trier.de/statistics/prolific1 Most prolific dblp authors].</ref>. [[Индекс Хирша]] — 35<ref>[https://scholar.google.com/citations?user=rlhpWRQAAAAJ Ralf Lämmel] на [[Google Scholar]].</ref>.
'''Ральф Леммель''' — немецкий учёный, профессор {{нп5|Университет Кобленца-Ландау|Университета в Кобленце и Ландау|de|Universität Koblenz-Landau}}, декан факультета информатики<ref name="cv">[http://softlang.wikidot.com/rlaemmel:bio CV/Bio Ralf Lämmel: Short bio; Long bio].</ref>. Входит в список самых плодовитых авторов научных статей по версии [[DBLP]] как имеющий более 160 опубликованных работ<ref>[http://dblp.uni-trier.de/statistics/prolific1 Most prolific dblp authors].</ref>. [[Индекс Хирша]] — 39<ref>[https://scholar.google.com/citations?user=rlhpWRQAAAAJ Ralf Lämmel] на [[Google Scholar]].</ref>.


Ральф Леммель защитил диссертацию на соискание степени [[:de:Dr.-Ing.|доктора-инженера]] по теме «[[функциональное программирование|Функциональные]] [[метапрограммирование|метапрограммы]] в помощью [[повторное использование кода|повторному использованию]] в рамках [[декларативное программирование|декларативной парадигмы]]»<ref>[http://www.genealogy.ams.org/id.php?id=120090 Ralf Lämmel] на [[Mathematics Genealogy Project]].</ref><ref>Ralf Lämmel, [http://softlang.uni-koblenz.de/LaemmelPhDThesis.pdf Functional meta-programs towards reusability in the declarative paradigm], Shaker Verlag, 1999, ISBN 3-8265-6042-6.</ref> в 1999, и позже в том же году переехал в [[Нидерланды]], где проработал несколько лет в различных научно-исследовательских организациях. В 2005 Леммель перешёл работать в [[Microsoft]], где занимался [[НИОКР]] в области [[XML]]-технологий<ref name="cv"/>. После 2007 года вернулся в Европу, где занял позицию профессора в небольшом немецком университете, на которой и работает (на 2016 год).
Ральф Леммель защитил диссертацию на соискание степени [[:de:Dr.-Ing.|доктора-инженера]] по теме «[[функциональное программирование|Функциональные]] [[метапрограммирование|метапрограммы]] в помощью [[повторное использование кода|повторному использованию]] в рамках [[декларативное программирование|декларативной парадигмы]]»<ref>[http://www.genealogy.ams.org/id.php?id=120090 Ralf Lämmel] на [[Mathematics Genealogy Project]].</ref><ref>Ralf Lämmel, [http://softlang.uni-koblenz.de/LaemmelPhDThesis.pdf Functional meta-programs towards reusability in the declarative paradigm], Shaker Verlag, 1999, ISBN 3-8265-6042-6.</ref> в 1999, и позже в том же году переехал в [[Нидерланды]], где проработал несколько лет в различных научно-исследовательских организациях. В 2005 Леммель перешёл работать в [[Microsoft]], где занимался [[НИОКР]] в области [[XML]]-технологий<ref name="cv"/>. После 2007 года вернулся в Европу, где занял позицию профессора в небольшом немецком университете, на которой и работает (на 2016 год).
Строка 27: Строка 27:
Среди самых широко цитируемых работ Леммеля — статья с объяснением модели [[распределённые вычисления|распределённых вычислений]] [[MapReduce]]<ref>Ralf Lämmel, [https://dx.doi.org/10.1016/j.scico.2007.07.001 Google’s MapReduce programming model — Revisited]. Sci. Comput. Program. 70(1): 1-30 (2008).</ref>. Вместо используемого в [[Google (компания)|Google]] языка {{нп5|Sawzall|||Sawzall (programming language)}} он продемонстрировал возможности типизации, абстракции, распараллеливания и агрегации для более популярного языка [[Haskell]], а позже добавил и реализацию для [[Hadoop]]<ref>Ralf Lämmel, David Saile, [http://softlang.uni-koblenz.de/deltamr/ MapReduce with Deltas], PDPTA 2011.</ref>. Ещё более известен предложенный Леммелем стиль функционального [[Обобщённое программирование|обобщённого программирования]] под названием «scrap your boilerplate» (SYB, приблизительно переводится как «вычищение шаблонов»), которому посвящён целый ряд статей<ref>Ralf Lämmel, [[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], [http://doi.acm.org/10.1145/604174.604179 Scrap your boilerplate: a practical design pattern for generic programming]. TLDI 2003: 26-37.</ref><ref>[[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], Ralf Lämmel, [https://dx.doi.org/10.1007/978-3-540-40018-9_23 Scrap Your Boilerplate]. APLAS 2003: 357.</ref><ref>Ralf Lämmel, [[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], [http://doi.acm.org/10.1145/1016850.1016883 Scrap more boilerplate: reflection, zips, and generalised casts]. ICFP 2004: 244—255.</ref><ref>Ralf Lämmel, [[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], [http://doi.acm.org/10.1145/1086365.1086391 Scrap your boilerplate with class: extensible generic functions]. ICFP 2005: 204—215.</ref><ref>Ralf Lämmel, [http://doi.acm.org/10.1145/1190216.1190240 Scrap your boilerplate with XPath-like combinators]. POPL 2007: 137—142.</ref><ref>Ralf Lämmel, [http://doi.acm.org/10.1145/1599410.1599412 Scrap your boilerplate: prologically!] PPDP 2009: 7-12.</ref>, написанных большей частью в соавторстве с [[Пейтон-Джонс, Саймон|Саймоном Пейтон-Джонсом]], ведущим разработчиком языка [[Haskell]]. Задача, решаемая методикой SYB, заключается в том, что [[Обход дерева|обход]] иерархических структур данных (например, [[дерево (структура данных)|деревьев]]), что часто встречаются в [[программирование|программировании]], совершается однообразным кодом, который перебирает все возможные варианты на каждом уровне иерархии и продолжает обход в желаемом направлении. Если такого кода существенно больше, чем кода, относящегося к собственно центральному [[алгоритм]]у, это отвлекает программиста и рассеивает его внимание. SYB предлагает набор [[полиморфизм (информатика)|полиморфных]] [[комбинатор]]ов, скрывающих рутинный код обхода и позволяющий программисту сфокусировать внимание на более важных аспектах.
Среди самых широко цитируемых работ Леммеля — статья с объяснением модели [[распределённые вычисления|распределённых вычислений]] [[MapReduce]]<ref>Ralf Lämmel, [https://dx.doi.org/10.1016/j.scico.2007.07.001 Google’s MapReduce programming model — Revisited]. Sci. Comput. Program. 70(1): 1-30 (2008).</ref>. Вместо используемого в [[Google (компания)|Google]] языка {{нп5|Sawzall|||Sawzall (programming language)}} он продемонстрировал возможности типизации, абстракции, распараллеливания и агрегации для более популярного языка [[Haskell]], а позже добавил и реализацию для [[Hadoop]]<ref>Ralf Lämmel, David Saile, [http://softlang.uni-koblenz.de/deltamr/ MapReduce with Deltas], PDPTA 2011.</ref>. Ещё более известен предложенный Леммелем стиль функционального [[Обобщённое программирование|обобщённого программирования]] под названием «scrap your boilerplate» (SYB, приблизительно переводится как «вычищение шаблонов»), которому посвящён целый ряд статей<ref>Ralf Lämmel, [[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], [http://doi.acm.org/10.1145/604174.604179 Scrap your boilerplate: a practical design pattern for generic programming]. TLDI 2003: 26-37.</ref><ref>[[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], Ralf Lämmel, [https://dx.doi.org/10.1007/978-3-540-40018-9_23 Scrap Your Boilerplate]. APLAS 2003: 357.</ref><ref>Ralf Lämmel, [[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], [http://doi.acm.org/10.1145/1016850.1016883 Scrap more boilerplate: reflection, zips, and generalised casts]. ICFP 2004: 244—255.</ref><ref>Ralf Lämmel, [[Пейтон-Джонс, Саймон|Simon L. Peyton Jones]], [http://doi.acm.org/10.1145/1086365.1086391 Scrap your boilerplate with class: extensible generic functions]. ICFP 2005: 204—215.</ref><ref>Ralf Lämmel, [http://doi.acm.org/10.1145/1190216.1190240 Scrap your boilerplate with XPath-like combinators]. POPL 2007: 137—142.</ref><ref>Ralf Lämmel, [http://doi.acm.org/10.1145/1599410.1599412 Scrap your boilerplate: prologically!] PPDP 2009: 7-12.</ref>, написанных большей частью в соавторстве с [[Пейтон-Джонс, Саймон|Саймоном Пейтон-Джонсом]], ведущим разработчиком языка [[Haskell]]. Задача, решаемая методикой SYB, заключается в том, что [[Обход дерева|обход]] иерархических структур данных (например, [[дерево (структура данных)|деревьев]]), что часто встречаются в [[программирование|программировании]], совершается однообразным кодом, который перебирает все возможные варианты на каждом уровне иерархии и продолжает обход в желаемом направлении. Если такого кода существенно больше, чем кода, относящегося к собственно центральному [[алгоритм]]у, это отвлекает программиста и рассеивает его внимание. SYB предлагает набор [[полиморфизм (информатика)|полиморфных]] [[комбинатор]]ов, скрывающих рутинный код обхода и позволяющий программисту сфокусировать внимание на более важных аспектах.


Леммель является соавтором некоторых терминов, получивших широкое признание и распространение в научном сообществе. Среди них: ''«грамматическое обеспечение»'' (grammarware, по аналогии с [[Программное обеспечение|программным обеспечением]])<ref>[[Клинт, Паул|Paul Klint]], Ralf Lämmel, [[Верхуф, Крис|Chris Verhoef]], [http://doi.acm.org/10.1145/1072997.1073000 Toward an engineering discipline for grammarware]. ACM Trans. Softw. Eng. Methodol. 14(3): 331—380 (2005).</ref> как дисциплина создания [[формальная грамматика|грамматик]], [[схема базы данных|схем баз данных]], [[система типов|систем типов]] и прочих компонент [[компилятор]]а; ''«языковая инженерия»'' (software language engineering, по аналогии с [[программная инженерия|программной инженерией]])<ref>[[Гашевич, Драган|Dragan Gasevic]], Ralf Lämmel, [[Ван Вейк, Эрик|Eric Van Wyk]], [[doi:10.1007/978-3-642-00434-6|Software Language Engineering, First International Conference]], SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers. Lecture Notes in Computer Science 5452, Springer 2009, ISBN 978-3-642-00433-9.</ref><ref>[[Фавр, Жан-Мари|Jean-Marie Favre]], [[Гашевич, Драган|Dragan Gasevic]], Ralf Lämmel, [[Винтер, Андреас|Andreas Winter]], [https://dx.doi.org/10.1049/iet-sen:20089010 Editorial — Software language engineering]. IET Software 2(3): 161—164 (2008).</ref><ref>[[Фавр, Жан-Мари|Jean-Marie Favre]], [[Гашевич, Драган|Dragan Gasevic]], Ralf Lämmel, [[Винтер, Андреас|Andreas Winter]], [https://dx.doi.org/10.1109/TSE.2009.78 Guest Editors' Introduction to the Special Section on Software Language Engineering]. IEEE Trans. Software Eng. 35(6): 737—741 (2009).</ref> как область научных исследований, изучающая [[язык программирования|языки программирования]], [[язык моделирования|моделирования]], [[язык проектирования|проектирования]], [[язык спецификаций|спецификаций]], [[язык разметки|разметки]], [[язык описания аппаратуры|описания аппаратуры]] или [[язык описания интерфейсов|интерфейсов]], [[предметно-ориентированный язык|предметно-ориентированные языки]], [[язык запросов|языки запросов]] и т. п.; ''«[[хрестоматия]] программного обеспечения»'' (software chrestomathy)<ref>Jean-Marie Favre, Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, Andrei Varanovich, [https://dx.doi.org/10.1109/WCRE.2012.43 Linking Documentation and Source Code in a Software Chrestomathy]. WCRE 2012: 335—344.</ref><ref>Ralf Lämmel: [https://dx.doi.org/10.1016/j.scico.2013.11.014 Software chrestomathies]. Sci. Comput. Program. 97: 98-104 (2015).</ref><ref name="101c">Jean-Marie Favre, Ralf Lämmel, Thomas Schmorleiz, Andrei Varanovich, [https://dx.doi.org/10.1007/978-3-642-30561-0_6 101companies: A Community Project on Software Technologies and Software Languages]. TOOLS (50) 2012: 58-74.</ref> как [[репозиторий]], в котором в связанном друг с другом виде хранятся [[исходный код]], [[документация на программное обеспечение|документация]], [[модель (информатика)|модели]], [[архитектура программного обеспечения|архитектура]], сценарии [[автоматизация сборки|сборки]], [[структура данных|структуры данных]] и прочие компоненты. В 2009 году он стал одним из основателей конференции по языковой инженерии SLE (International Conference of Software Language Engineering)<ref name="cv"/><ref>[http://www.sleconf.org/2008/Committees.html SLE2008 — 1st International Conference on Software Language Engineering — Committees].</ref>.
Леммель является соавтором некоторых терминов, получивших широкое признание и распространение в научном сообществе. Среди них: ''«грамматическое обеспечение»'' (grammarware, по аналогии с [[Программное обеспечение|программным обеспечением]])<ref>[[Клинт, Паул|Paul Klint]], Ralf Lämmel, [[Верхуф, Крис|Chris Verhoef]], [http://doi.acm.org/10.1145/1072997.1073000 Toward an engineering discipline for grammarware]. ACM Trans. Softw. Eng. Methodol. 14(3): 331—380 (2005).</ref> как дисциплина создания [[формальная грамматика|грамматик]], [[схема базы данных|схем баз данных]], [[система типов|систем типов]] и прочих компонент [[компилятор]]а; ''«языковая инженерия»'' (software language engineering, по аналогии с [[программная инженерия|программной инженерией]])<ref>[[Гашевич, Драган|Dragan Gasevic]], Ralf Lämmel, [[Ван Вейк, Эрик|Eric Van Wyk]], [[doi:10.1007/978-3-642-00434-6|Software Language Engineering, First International Conference]], SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers. Lecture Notes in Computer Science 5452, Springer 2009, ISBN 978-3-642-00433-9.</ref><ref>[[Фавр, Жан-Мари|Jean-Marie Favre]], [[Гашевич, Драган|Dragan Gasevic]], Ralf Lämmel, [[Винтер, Андреас|Andreas Winter]], [https://dx.doi.org/10.1049/iet-sen:20089010 Editorial — Software language engineering]. IET Software 2(3): 161—164 (2008).</ref><ref>[[Фавр, Жан-Мари|Jean-Marie Favre]], [[Гашевич, Драган|Dragan Gasevic]], Ralf Lämmel, [[Винтер, Андреас|Andreas Winter]], [https://dx.doi.org/10.1109/TSE.2009.78 Guest Editors' Introduction to the Special Section on Software Language Engineering]. IEEE Trans. Software Eng. 35(6): 737—741 (2009).</ref> как область научных исследований, изучающая [[язык программирования|языки программирования]], [[язык моделирования|моделирования]], [[язык проектирования|проектирования]], [[язык спецификаций|спецификаций]], [[язык разметки|разметки]], [[язык описания аппаратуры|описания аппаратуры]] или [[язык описания интерфейсов|интерфейсов]], [[предметно-ориентированный язык|предметно-ориентированные языки]], [[язык запросов|языки запросов]] и т. п.; ''«[[хрестоматия]] программного обеспечения»'' (software chrestomathy)<ref>Jean-Marie Favre, Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, Andrei Varanovich, [https://dx.doi.org/10.1109/WCRE.2012.43 Linking Documentation and Source Code in a Software Chrestomathy]. WCRE 2012: 335—344.</ref><ref>Ralf Lämmel: [https://dx.doi.org/10.1016/j.scico.2013.11.014 Software chrestomathies]. Sci. Comput. Program. 97: 98-104 (2015).</ref><ref name="101c">Jean-Marie Favre, Ralf Lämmel, Thomas Schmorleiz, Andrei Varanovich, [https://dx.doi.org/10.1007/978-3-642-30561-0_6 101companies: A Community Project on Software Technologies and Software Languages]. TOOLS (50) 2012: 58-74.</ref> как [[репозиторий]], в котором в связанном друг с другом виде хранятся [[исходный код]], [[документация на программное обеспечение|документация]], [[модель (информатика)|модели]], [[архитектура программного обеспечения|архитектура]], сценарии [[автоматизация сборки|сборки]], [[структура данных|структуры данных]] и прочие компоненты. В 2009 году он стал одним из основателей конференции по языковой инженерии SLE (International Conference of Software Language Engineering)<ref name="cv"/><ref>[http://www.sleconf.org/2008/Committees.html SLE2008 — 1st International Conference on Software Language Engineering — Committees].</ref>. В 2018 году в издательстве [[Springer Science+Business Media|Springer]] вышла его книга «[[Программный язык|Программные языки]]: [[Синтаксис (программирование)|синтаксис]], [[Семантика (программирование)|семантика]] и [[метапрограммирование]]»<ref>[http://www.softlang.org/book The Software Languages Book]</ref><ref>{{Статья|автор=Ralf Lämmel|заглавие=Software Languages|ссылка=http://link.springer.com/10.1007/978-3-319-90800-7|год=2018|doi=10.1007/978-3-319-90800-7}}</ref>.


Ральф Леммель был одним из учёных, заложивших основы общей теории {{нп5|двунаправленные преобразования|двунаправленных преобразований||bidirectional transformation}} ({{lang-en|bidirectional transformation}}, bx)<ref name="grace">Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, James F. Terwilliger, [https://dx.doi.org/10.1007/978-3-642-02408-5_19 Bidirectional Transformations: A Cross-Discipline Perspective]. ICMT 2009: 260—283</ref> и представлял там [[теория языка программирования|теорию языков программирования]]. Двунаправленные преобразования — это не всегда [[биективность|биективные отображения]], двунаправленной может считаться любая пара преобразований, связанная определёнными законами. Например, [[представление (базы данных)|представление]] получается из [[база данных|базы данных]] фильтрацией содержимого, но в некоторых системах изменения представления могут быть возвращены в исходную базу и применены к полному набору имеющихся там данных. Вклад Леммеля заключался в двунаправленных преобразованиях [[формальная грамматика|грамматик]]<ref name="grace"/>.
Ральф Леммель был одним из учёных, заложивших основы общей теории {{нп5|двунаправленные преобразования|двунаправленных преобразований||bidirectional transformation}} ({{lang-en|bidirectional transformation}}, bx)<ref name="grace">Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, James F. Terwilliger, [https://dx.doi.org/10.1007/978-3-642-02408-5_19 Bidirectional Transformations: A Cross-Discipline Perspective]. ICMT 2009: 260—283</ref> и представлял там [[теория языка программирования|теорию языков программирования]]. Двунаправленные преобразования — это не всегда [[биективность|биективные отображения]], двунаправленной может считаться любая пара преобразований, связанная определёнными законами. Например, [[представление (базы данных)|представление]] получается из [[база данных|базы данных]] фильтрацией содержимого, но в некоторых системах изменения представления могут быть возвращены в исходную базу и применены к полному набору имеющихся там данных. Вклад Леммеля заключался в двунаправленных преобразованиях [[формальная грамматика|грамматик]]<ref name="grace"/>.

Версия от 08:34, 18 июля 2018

Ральф Леммель
Ralf Lämmel
Место рождения
Страна Германия
Род деятельности специалист в области информатики
Научная сфера информатика
Место работы Ростокский университет
Центр математики и информатики
Свободный университет Амстердама
Microsoft
Университет Кобленца-Ландау[нем.]
Facebook
Альма-матер Ростокский университет
Учёная степень доктор философии
Учёное звание профессор
Научный руководитель Гюнтер Ридевальд

Ральф Леммель — немецкий учёный, профессор Университета в Кобленце и Ландау[нем.], декан факультета информатики[1]. Входит в список самых плодовитых авторов научных статей по версии DBLP как имеющий более 160 опубликованных работ[2]. Индекс Хирша — 39[3].

Ральф Леммель защитил диссертацию на соискание степени доктора-инженера по теме «Функциональные метапрограммы в помощью повторному использованию в рамках декларативной парадигмы»[4][5] в 1999, и позже в том же году переехал в Нидерланды, где проработал несколько лет в различных научно-исследовательских организациях. В 2005 Леммель перешёл работать в Microsoft, где занимался НИОКР в области XML-технологий[1]. После 2007 года вернулся в Европу, где занял позицию профессора в небольшом немецком университете, на которой и работает (на 2016 год).

Среди самых широко цитируемых работ Леммеля — статья с объяснением модели распределённых вычислений MapReduce[6]. Вместо используемого в Google языка Sawzall[англ.] он продемонстрировал возможности типизации, абстракции, распараллеливания и агрегации для более популярного языка Haskell, а позже добавил и реализацию для Hadoop[7]. Ещё более известен предложенный Леммелем стиль функционального обобщённого программирования под названием «scrap your boilerplate» (SYB, приблизительно переводится как «вычищение шаблонов»), которому посвящён целый ряд статей[8][9][10][11][12][13], написанных большей частью в соавторстве с Саймоном Пейтон-Джонсом, ведущим разработчиком языка Haskell. Задача, решаемая методикой SYB, заключается в том, что обход иерархических структур данных (например, деревьев), что часто встречаются в программировании, совершается однообразным кодом, который перебирает все возможные варианты на каждом уровне иерархии и продолжает обход в желаемом направлении. Если такого кода существенно больше, чем кода, относящегося к собственно центральному алгоритму, это отвлекает программиста и рассеивает его внимание. SYB предлагает набор полиморфных комбинаторов, скрывающих рутинный код обхода и позволяющий программисту сфокусировать внимание на более важных аспектах.

Леммель является соавтором некоторых терминов, получивших широкое признание и распространение в научном сообществе. Среди них: «грамматическое обеспечение» (grammarware, по аналогии с программным обеспечением)[14] как дисциплина создания грамматик, схем баз данных, систем типов и прочих компонент компилятора; «языковая инженерия» (software language engineering, по аналогии с программной инженерией)[15][16][17] как область научных исследований, изучающая языки программирования, моделирования, проектирования, спецификаций, разметки, описания аппаратуры или интерфейсов, предметно-ориентированные языки, языки запросов и т. п.; «хрестоматия программного обеспечения» (software chrestomathy)[18][19][20] как репозиторий, в котором в связанном друг с другом виде хранятся исходный код, документация, модели, архитектура, сценарии сборки, структуры данных и прочие компоненты. В 2009 году он стал одним из основателей конференции по языковой инженерии SLE (International Conference of Software Language Engineering)[1][21]. В 2018 году в издательстве Springer вышла его книга «Программные языки: синтаксис, семантика и метапрограммирование»[22][23].

Ральф Леммель был одним из учёных, заложивших основы общей теории двунаправленных преобразований[англ.] (англ. bidirectional transformation, bx)[24] и представлял там теорию языков программирования. Двунаправленные преобразования — это не всегда биективные отображения, двунаправленной может считаться любая пара преобразований, связанная определёнными законами. Например, представление получается из базы данных фильтрацией содержимого, но в некоторых системах изменения представления могут быть возвращены в исходную базу и применены к полному набору имеющихся там данных. Вклад Леммеля заключался в двунаправленных преобразованиях грамматик[24].

Примечания

  1. 1 2 3 CV/Bio Ralf Lämmel: Short bio; Long bio.
  2. Most prolific dblp authors.
  3. Ralf Lämmel на Google Scholar.
  4. Ralf Lämmel на Mathematics Genealogy Project.
  5. Ralf Lämmel, Functional meta-programs towards reusability in the declarative paradigm, Shaker Verlag, 1999, ISBN 3-8265-6042-6.
  6. Ralf Lämmel, Google’s MapReduce programming model — Revisited. Sci. Comput. Program. 70(1): 1-30 (2008).
  7. Ralf Lämmel, David Saile, MapReduce with Deltas, PDPTA 2011.
  8. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate: a practical design pattern for generic programming. TLDI 2003: 26-37.
  9. Simon L. Peyton Jones, Ralf Lämmel, Scrap Your Boilerplate. APLAS 2003: 357.
  10. Ralf Lämmel, Simon L. Peyton Jones, Scrap more boilerplate: reflection, zips, and generalised casts. ICFP 2004: 244—255.
  11. Ralf Lämmel, Simon L. Peyton Jones, Scrap your boilerplate with class: extensible generic functions. ICFP 2005: 204—215.
  12. Ralf Lämmel, Scrap your boilerplate with XPath-like combinators. POPL 2007: 137—142.
  13. Ralf Lämmel, Scrap your boilerplate: prologically! PPDP 2009: 7-12.
  14. Paul Klint, Ralf Lämmel, Chris Verhoef, Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. 14(3): 331—380 (2005).
  15. Dragan Gasevic, Ralf Lämmel, Eric Van Wyk, Software Language Engineering, First International Conference, SLE 2008, Toulouse, France, September 29-30, 2008. Revised Selected Papers. Lecture Notes in Computer Science 5452, Springer 2009, ISBN 978-3-642-00433-9.
  16. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter, Editorial — Software language engineering. IET Software 2(3): 161—164 (2008).
  17. Jean-Marie Favre, Dragan Gasevic, Ralf Lämmel, Andreas Winter, Guest Editors' Introduction to the Special Section on Software Language Engineering. IEEE Trans. Software Eng. 35(6): 737—741 (2009).
  18. Jean-Marie Favre, Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, Andrei Varanovich, Linking Documentation and Source Code in a Software Chrestomathy. WCRE 2012: 335—344.
  19. Ralf Lämmel: Software chrestomathies. Sci. Comput. Program. 97: 98-104 (2015).
  20. Jean-Marie Favre, Ralf Lämmel, Thomas Schmorleiz, Andrei Varanovich, 101companies: A Community Project on Software Technologies and Software Languages. TOOLS (50) 2012: 58-74.
  21. SLE2008 — 1st International Conference on Software Language Engineering — Committees.
  22. The Software Languages Book
  23. Ralf Lämmel. Software Languages. — 2018. — doi:10.1007/978-3-319-90800-7.
  24. 1 2 Krzysztof Czarnecki, J. Nathan Foster, Zhenjiang Hu, Ralf Lämmel, Andy Schürr, James F. Terwilliger, Bidirectional Transformations: A Cross-Discipline Perspective. ICMT 2009: 260—283