*.ads files are specification files - they contain only
specifications
of procedures, functions, interfaces, constants, tasks, etc. while
*.adb files are implementations of corresponding .ads file (ie.
some_package.adb is implementation of specification
some_package.ads).
One can compare it to .h and .c files in C (though specifications in
Ada are much more important than in C).
Looks like if there is an .adb file present, the corresponding .ads
file is not compiled. Can I freely remove the .adb file to get the
.ads
file compiled. In case there are both .adb and .ads files available,
what is the function of the .ads file??