robert-j@gmx.de (Robert =?iso-8859-1?Q?J=E4schke?=) writes: > Hello! > > I'm writing a package for Rational-Arithmetics and there I've got a problem. > I want to declare a constant of type Rational before the type itself is > proper defined and I don't know how I can go around this problem: [snip] Try this : package My_Math.Rational is type Rational is private; Zero : constant Rational; private type Rational is record Z : Integer; -- Z�hler N : Integer; -- Nenner end record; Zero : constant Rational := (Z => 0, N => 1); end My_Math.Rational;