CppCon 2018: Crafting EDSL In C++ using Metaprogramming, Operator Overloading, & Lambda Expressions
4,009 views · Published 22 October 2018 · 1:01:50 · Indexed 6 October 2026
Channel: CppCon · 2018 · Education
http://CppCon.org Gilang Hamidy “Crafting Embedded Domain-Specific Language (EDSL) In C++ using Metaprogramming, Operator Overloading, and Lambda Expressions” — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018 — 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. — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
More from this channel
-
1:07:14
CppCon 2014: Ade Miller "Writing Data Parallel Algorithms on GPUs"
-
1:03:17
Elevate Your Code to Modern C++11 with Automated Tooling - Peter Sommerlad [ CppCon 2014 ]
-
1:09:49
UI prototyping and development for multiple devices in C++ - John "JT" Thomas [ CppCon 2014 ]
-
40:21
CppCon 2014: Jared Hoberock "Parallelizing the Standard Algorithms Library"
-
5:57
CppCon 2014: Lightning Talks - Michael Caisse "Boostache"
-
1:08:02
CppCon 2014: Mauricio Carneiro "Gamgee: A C++14 library for genomics data processing and analysis"
-
50:09
CppCon 2015: Joel Falcou PART 3 “Expression Templates: Past, Present, Future”
-
51:27
Simple, Extensible Pattern Matching in C++14 - John R. Bandela [ CppCon 2015 ]