[said Martin] > "with type", to my knowledge was created for the GNAT for JVM compiler, > JGNAT, and is documented there. But GNAT and jgnat are the same fromt end, so it's also available in "normal" GNAT. > Another example of a GNAT extension is > 'Unrestricted_Access, so you can get an access to a nested procedure. Well, officially that's an implementation-dependent attribute, not (strictly speaking) an extension. 'with type' is more interesting, IMHO, because it's a _syntactic_ extension. I'm not initimately familiar with every Ada compiler, but I don't think I've seen a syntactic extension since the Intel 432 compiler, which was pre-ANSI 1815A, and had some really interesting OO extensions. There was a keyword 'refines', which produced the kind of subclassing we now see with Ada 95 type extension. That Intel compiler also preceded C++. I still have an RM for it. > > --Martin > Mike