More detailed comparison with boost-ext/sml
Hi, first of all thank you for amazing library.
I have read the documentation and relation with boost-ext/sml is only briefly mentioned.
I presume you would not make a new library without reason(especially since it requires C++20), but it might be helpful to list those.
As I have seen boost-ext/sml used successful in production code multiple times I presume a lot of people would like to know if they should upgrade, and if they do is translation gonna be trivial, or it will be closer to rewrite. Similar questions might arise in terms of performance, plans for support, e.g. is C++14 boost-ext/sml gonna continue to be developed or will development be focused purely on this C++20 library.
Hi @libbooze,
Thanks fore the comment. As it stands the library is not production ready yet, it's more proof of concept stage AATM, most ideas are settled but there are still a few to sort out. It's a bit different approach than boost-ext/sml but also with different set of trade-offs. The library is indeed aiming C++20+ and likely not having full UML 2.5 support but with - fast compilation times, improved error messages, and simplified interface as well as with a few possibilities to improve performance around handling guards. The library won't be API compatibly with boost-ext/sml as the DSL is different and the backend is also different, however the main goals: being declarative and performant remains intact.
Awesome, thank you for the reply. I would move that to readme to make it more obvious, but beside that I think this issue can be closed.
Hi @libbooze,
Thanks fore the comment. As it stands the library is not production ready yet, it's more proof of concept stage AATM, most ideas are settled but there are still a few to sort out. It's a bit different approach than boost-ext/sml but also with different set of trade-offs. The library is indeed aiming C++20+ and likely not having full UML 2.5 support but with - fast compilation times, improved error messages, and simplified interface as well as with a few possibilities to improve performance around handling guards. The library won't be API compatibly with boost-ext/sml as the DSL is different and the backend is also different, however the main goals: being declarative and performant remains intact.
Hi, @kris-jusiak, Are all the features of the v2 version included in the v3 version? For me, the features of the v2 version are basically sufficient. The v3 version can better utilize C++20 syntax for expansion, and more complex business logic can be broken down using other methods, rather than having to implement everything at the FSM level. I am more concerned about robustness. I am very much looking forward to the early realization of your v3 version; it should be a great library.