Как в Haskell: Final Tagless и eDSL на концептах
Вместе с С++20 пришла новая языковая функциональность — концепты. И хотя создатели открещиваются от того, что концепты это аналог классов типов, тем не менее некоторые иерархии концептов уж очень похожи на таковые в Haskell. Концепты — инструмент новый, и практики его использования еще предстоит выработать. Ожидается, что концепты изменят сам стиль разработки на С++, что подтверждается практикой использования классов типов в Haskell. Но что еще можно сделать с помощью концептов, какие идеи стоит рассмотреть?
В этом докладе мы будем имплементировать дизайн-подход из Haskell, известный как Final Tagless. Мы рассмотрим, что это такое, и как можно выразить Final Tagless с помощью концептов. Мы построим простой eDSL на FT и обсудим его свойства.
Спикеры
Приглашенные эксперты
Олег Чирухин
Компания: JetBrains