1 2 3 4 5 6 7 8 9 10 11 12 13
package Corr_Discr is type Base (T1 : Boolean := True; T2 : Boolean := False) is null record; for Base use record T1 at 0 range 0 .. 0; T2 at 0 range 1 .. 1; end record; type Deriv (D : Boolean := False) is new Base (T1 => True, T2 => D); end Corr_Discr;