Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More detailed comparison with boost-ext/sml #17

Open
libbooze opened this issue Jan 12, 2025 · 3 comments
Open

More detailed comparison with boost-ext/sml #17

libbooze opened this issue Jan 12, 2025 · 3 comments

Comments

@libbooze
Copy link

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.

@kris-jusiak
Copy link
Contributor

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.

@libbooze
Copy link
Author

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.

@liziyi75
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants