3 ms·
You can pay for those features in debug mode or in chaos monkey mode. It's okay to continue to not pay for them in release mode. Heck, Rust has this approach wh
by nayuki 2y ago
You can pay for those features in debug mode or in chaos monkey mode. It's okay to continue to not pay for them in release mode. Heck, Rust has this approach when it comes to handling integer overflow - fully checked in debug mode, silent wraparound in release mode.
- irundebian 2y agoIn Ada you can pay for integer overflow checks (runtime) if you want to. With Ada SPARK you can prove that your code does not contain integer overflows so that you don't need runtime checks.
- johnisgood 2y agoAnd you can disable these checks with a flag when it comes to Ada, and yeah, with SPARK, none of it happens at runtime. Check the table at https://docs.adacore.com/spark2014-docs/html/ug/en/usage_scenarios.html https://docs.adacore.com/spark2014-docs/html/ug/en/usage_sce..., look for "SPARK builds on the strengths of Ada to provide even more guarantees statically rather than dynamically.". More reading: https://docs.adacore.com/spark2014-docs/html/ug/en/tutorial.html https://docs.adacore.com/spark2014-docs/html/ug/en/tutorial.... https://learn.adacore.com https://learn.adacore.com (many books for learning Ada and SPARK) available in PDF, EPUB, and HTML format.