Petter Holmberg: Functional parsing in C++20
Is C++20 a language that supports a functional style of programming?
Can we write modern C++ code in a pure functional style that would easily translate into a pure functional language like Haskell, and could that C++ code end up looking just as nice while still being reasonably efficient?
In this talk we will take a practical approach and apply ideas from functional programming to a common and non-trivial problem - parsing strings - and develop a small pure functional parsing library from the ground up. On the way we will encounter many nice features from C++20 that, while optional, make this task a lot easier and results in code that can compete with functional languages for clarity and expressiveness.
This talk does not assume theoretical knowledge of functional programming concepts or practical experience with a functional language. You also don't need to know how to write parsers or have many hours of C++20 under your belt.
Slides:
https://github.com/petter-holmberg/talks/blob/master/FunctionalParsingCppSthlm1F.pdf
Code:
https://github.com/petter-holmberg/eop-parser
https://github.com/petter-holmberg/talks/tree/master/wirth-parser
--
Event was recorded at the Atlas Copco office in Stockholm
https://www.atlascopco.com/sv-se
Meetup Event:
https://www.meetup.com/StockholmCpp/events/283856715/
Видео Petter Holmberg: Functional parsing in C++20 канала SwedenCpp
Can we write modern C++ code in a pure functional style that would easily translate into a pure functional language like Haskell, and could that C++ code end up looking just as nice while still being reasonably efficient?
In this talk we will take a practical approach and apply ideas from functional programming to a common and non-trivial problem - parsing strings - and develop a small pure functional parsing library from the ground up. On the way we will encounter many nice features from C++20 that, while optional, make this task a lot easier and results in code that can compete with functional languages for clarity and expressiveness.
This talk does not assume theoretical knowledge of functional programming concepts or practical experience with a functional language. You also don't need to know how to write parsers or have many hours of C++20 under your belt.
Slides:
https://github.com/petter-holmberg/talks/blob/master/FunctionalParsingCppSthlm1F.pdf
Code:
https://github.com/petter-holmberg/eop-parser
https://github.com/petter-holmberg/talks/tree/master/wirth-parser
--
Event was recorded at the Atlas Copco office in Stockholm
https://www.atlascopco.com/sv-se
Meetup Event:
https://www.meetup.com/StockholmCpp/events/283856715/
Видео Petter Holmberg: Functional parsing in C++20 канала SwedenCpp
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![Full recording of the C++ Distributed Meetup 0x03: Core C++ & Malmö C++ & SwedenCpp](https://i.ytimg.com/vi/2Q-WMAVuPo4/default.jpg)
![Ólafur Waage: We are all C++ teachers](https://i.ytimg.com/vi/Qz2dSiGPRTQ/default.jpg)
![Timur Doumler: C++ and Safety](https://i.ytimg.com/vi/WsswOOTxlIM/default.jpg)
![Pierre Lemoine - Bringing IEnumerable to c++](https://i.ytimg.com/vi/TcHAey92AZw/default.jpg)
![Per-Magnus Holtmo: Using gRPC to fight Mordor](https://i.ytimg.com/vi/lesTvLzTrmg/default.jpg)
![StockholmCpp 0x2C, intro and event host presentation](https://i.ytimg.com/vi/gH3PXA55LvI/default.jpg)
![Yair Friedman: Stateful Lambdas](https://i.ytimg.com/vi/JBsBwg1M6Pw/default.jpg)
![Paul Dreik: Using home made crypto for a non-cryptographic problem](https://i.ytimg.com/vi/4Ge4HcGgjGs/default.jpg)
![Stefan Petersen: Embedded RTOS in C++](https://i.ytimg.com/vi/NTATehY_n10/default.jpg)
![Arno Lepisk - Abusing the type system for fun and profit](https://i.ytimg.com/vi/3uapdi9jMKU/default.jpg)
![Kornél Lehőcz: Visual Studio debugging tips](https://i.ytimg.com/vi/GkUGveW1ibE/default.jpg)
![StockholmCpp 0x29: Intro and event host presentation](https://i.ytimg.com/vi/kL689vGyqGw/default.jpg)
![David Friberg: Three interesting minor features of C++20](https://i.ytimg.com/vi/4AQulaRJGMc/default.jpg)
![Arvid Norberg: Type safe flags](https://i.ytimg.com/vi/NGrnKr9rSz4/default.jpg)
![StockholmCpp 0x26: Intro / Opening](https://i.ytimg.com/vi/qLBP_H0dTQI/default.jpg)
![Arno Lepisk: Testing non-compiling code](https://i.ytimg.com/vi/02Hu0amx-5Y/default.jpg)
![Gustaf Räntilä - Functional reactive programming with C++](https://i.ytimg.com/vi/UeqrU3wNl30/default.jpg)
![Simon Pettersson: The type factory](https://i.ytimg.com/vi/y_4bFKxr1IA/default.jpg)
![Pontus Nyman: C++ in Space](https://i.ytimg.com/vi/VxNVGVW9nyI/default.jpg)
![Björn Fahller - Type Safe C++? LOL! :-)](https://i.ytimg.com/vi/jJyKp2Hzee0/default.jpg)