Subject Re: [Firebird-Architect] Error Reporting in New API
Author Vlad Horsun
I completely lost myself in this discussion.

In the thread "XSQLDA/XSQLVAR issues" i read following:

Dimitry Sibiryakov :
Nikolay, when Jim says "API" he doesn't mean "public API". He means
"interface between internal modules". The whole engine is compiled
with one compiler. I also think that FB3 may use other providers'
interface than vulcan.

And Jim answer:
No, actually I mean public API. It may not be the interface of choice
for application programs, but it is intended to be the foundation for a
family of specific language APIs.

So i concluded that we discuss _public_ API

But now i read :

Also, you've apparently forgotten that the API is not intended for
application program use -- again, it could, but needn't --

Jim, Jim, Jim, didn't I warned you about using right words? Re-read
your statement. Application Programming Interface (AKA API) that is
not intended for application use?!?

I.e. Dimitry thought that we discuss _public_ API, the same thought
as me.

But Jim answer:
Dimitry, perhaps you've heard of the concept of layers? That's what
we're talking about, layers.

The API we're discussion is an architecturally controlled Application
Program Interface. Any code that wishes to do so, may. If they do,
they may find it is intuitive that other APIs because it is designed for
efficiency, extensibility, and generality.

So what is the subject of this discussion ? By public API i understand
set of declarations which users can see and use, independent of layer of
that API on.

May be some examples will help ?