CppCon 2018: Crafting EDSL In C++ using Metaprogramming, Operator Overloading, & Lambda Expressions

preview_player
Показать описание
Gilang Hamidy “Crafting Embedded Domain-Specific Language (EDSL) In C++ using Metaprogramming, Operator Overloading, and Lambda Expressions”


Ever thinking of creating your own specific-purpose programming language? Or maybe improving programming experience by adding a language feature in existing language? This talk presents about Embedded Domain-Specific Language (EDSL) from basic concepts and technique to build it using C++.

EDSL is a powerful technique in integrating a custom libraries or frameworks in users’ codes. EDSL can improve user’s experience in using libraries by reducing boilerplate codes and providing more readable and straightforward codes. Some success stories are: Boost.Spirit, Boost.Proto.

Although Boost.Proto provides tool to build EDSL in C++, this talk presents building EDSL from the ground up utilizing operator overloading, template metaprogramming, and macro. We use operator overloading and template metaprogramming to build a simple expression tree for our EDSL.

This talk provides an example of developing an “asynchronous block” within C++ codes to be used in Tizen native application development. The “asynchronous block” has similar purpose with C++11 std::async but targeting a different API and mimicking the structure of try-catch block.

Gilang Hamidy
Ex Engineers, Currently Studying

Gilang Hamidy was an Engineer from Samsung Research Indonesia. He was in charge to lead Tizen native application development to support Tizen launch in Indonesia from 2016 to 2017. He initiated Tizen Fundamental Classes (TFC) as a framework libraries to support developing Tizen native app using C++. He presented TFC in Tizen Developer Conference (TDC) in San Francisco 2017. TFC itself is published as open-source in GitHub. He and his team successfully developed several applications including: Samsung Gift Indonesia, several 3rd party Indonesian news apps, and Telegram client for Tizen.

Prior to working at Samsung, he was a Technology Consultant at Accenture from 2011 to 2014. He graduated from Universitas Indonesia majoring in Computer Science in 2011, and will begin his master studies in Security and Cloud Computing at Aalto University, Finland, in Fall 2018.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

I like the topic and ofcouse the design of this edsl. I wish I can read the code to see the metaprogramming part

yabastacode
Автор

Interesting topic, but the progress speed was a little asymmetrical. The first half of pure presentation part was a bit too long and the "harder" part with all the template-meta-programming was too fast in comparison. Nonetheless, nice talk.

OperationDarkside
Автор

Will the "Grill the Committee" panel be uploaded soon?

philipdestroyer
welcome to shbcf.ru