Skip to content

Questions and Answers

Michael Gardner edited this page Dec 14, 2025 · 7 revisions

Questions & Answers

This section addresses common questions about the Functional library’s design decisions.

Design Philosophy

The library prioritizes:

  1. SPARK Compatibility - Formal verification support for safety-critical systems

  2. Value Semantics - Types behave as values, not objects

  3. Zero Overhead - No runtime cost beyond what’s necessary

  4. Embedded-Friendly - No heap allocation, bounded types only

Questions

Question Summary

Why not tagged types?

Explains why Option/Result use discriminated records instead of tagged types

Why generics for Is_Some_And?

Explains why higher-order functions use generic formal subprograms

Have a Question?

If you have questions about the library design, please open an issue on the GitHub repository.

Clone this wiki locally