I meant to comment on these. I hope I’m not too late.
- “Everything is valid… Ada 2012”: the stack example is not
- You’ve converted compound symbols like
=>
and>=
into single characters - Grade is a signed integer type, since declared with
range
; Grade’Base must include -10 … 10; Natural is a subtype of Integer in Ada, so if you’re using it in the mathematical sense, you should probably not capitalize it - Better_Grade has a small that is a power of two, probably 1 / 128; this can cause unexpected results
- “Even numbers are (all the positive integer numbers) divisible by two” but
subtype Even is Natural with Dynamic_Predicate => Even mod 2 = 0;
includes zero - You have an asterisk on “arbitrarily complex” that doesn’t seem to be resolved
- The stack’s Top function probably needs a
not Empty
precondition - “non Garbage-Collected”: nothing in the ARM excludes GC