Topic: conforming implementations (was: namespaces: a real mess)


Author: AllanW@my-dejanews.com
Date: 1998/08/04
Raw View
In article <35C5C7E6.2781@wizard.net>,
  James Kuyper <kuyper@wizard.net> wrote:
> Christopher Eltschka wrote:
> ...
> > BTW, If I got a documentation in Italian, but I don't understand
> > Italian, is it then still a conforming implementation?
>
> Yes. The standard doesn't require that the documentation be
> understandable.

Having had to read documentation from IBM, Digital Equipment, Borland,
and Microsoft, among others, I can safely say that the standard COULDN'T
require readable documentation -- or nobody would ever conform! :^p

Cheap shot, but not undeserved...

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: James Kuyper <kuyper@wizard.net>
Date: 1998/08/04
Raw View
Christopher Eltschka wrote:
...
> BTW, If I got a documentation in Italian, but I don't understand
> Italian, is it then still a conforming implementation?

Yes. The standard doesn't require that the documentation be
understandable.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Christopher Eltschka <celtschk@physik.tu-muenchen.de>
Date: 1998/08/01
Raw View
kanze@my-dejanews.com wrote:
>
> In article <35B8512C.1497B8FB@physik.tu-muenchen.de>,
>   Christopher Eltschka <celtschk@physik.tu-muenchen.de> wrote:
> > Fergus Henderson wrote:
> >
> > [...]
> >
> > > Actually, a conforming implementation must be accompanied by
> > > documentation about various aspects of the standard which are
> > > "implemented defined".  So strictly speaking, to make your
> > > implementation conforming, you would need not only the above shell
> > > script, and a Unix implementation to run it on, but also some
> > > (rather vacuous!) documentation.
> >
> > Interesting. So, if I lost my manuals, I don't have a conforming
> > implementation, even if I had one before and didn't change anything
> > on my computer?
>
> And if you accidentally delete the library, and didn't keep a back-up
> copy, you don't have a conforming implementation either.  (I presume that
> by "lose the manuals", you mean accidentally delete them on disk, since
> I can't remember the last time I saw an implementation delivered with
> paper manuals.)
>
> For that matter, if you power down your computer, you cease to have
> a conforming implementation as well.  The standard says nothing about
> a conforming implementation being required to meet the requirements
> if and only if it has the power turned on.

But if the vendor documents turning power on as essential part of
running
the compiler, the implementation continues to be conforming until
you get an power failure, right?
Or does that only hold if I printed the documentation, since else I
cannot read that documentation when my computer is turned off?

BTW, If I got a documentation in Italian, but I don't understand
Italian, is it then still a conforming implementation?
Or is it only a conforming implementation for people who understand
Italian, but non-conforming for others?

If I learn the documentation, and then delete the manuals, is then
the implementation conforming just for me?

Maybe conformance tests should also include the ability of the
user to understand the documentation...
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: Christopher Eltschka <celtschk@physik.tu-muenchen.de>
Date: 1998/07/25
Raw View
Fergus Henderson wrote:

[...]

> Actually, a conforming implementation must be accompanied by
> documentation about various aspects of the standard which are
> "implemented defined".  So strictly speaking, to make your
> implementation conforming, you would need not only the above shell
> script, and a Unix implementation to run it on, but also some
> (rather vacuous!) documentation.

Interesting. So, if I lost my manuals, I don't have a conforming
implementation, even if I had one before and didn't change anything
on my computer?
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: James Kuyper <kuyper@wizard.net>
Date: 1998/07/27
Raw View
Christopher Eltschka wrote:
>
> Fergus Henderson wrote:
>
> [...]
>
> > Actually, a conforming implementation must be accompanied by
> > documentation about various aspects of the standard which are
> > "implemented defined".  So strictly speaking, to make your
> > implementation conforming, you would need not only the above shell
> > script, and a Unix implementation to run it on, but also some
> > (rather vacuous!) documentation.
>
> Interesting. So, if I lost my manuals, I don't have a conforming
> implementation, even if I had one before and didn't change anything
> on my computer?

Exactly. The implementor provided some of the parts of a conforming
implementation, but it didn't become an actually conforming
implementation until you installed it on your system. Then you managed
to lose one of the parts that made it conforming. You also don't have a
conforming implementation if your hardware malfunctions in certain
implementation-dependent ways, for instance due to a power loss.


[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]






Author: kanze@my-dejanews.com
Date: 1998/07/27
Raw View
In article <35B8512C.1497B8FB@physik.tu-muenchen.de>,
  Christopher Eltschka <celtschk@physik.tu-muenchen.de> wrote:
> Fergus Henderson wrote:
>
> [...]
>
> > Actually, a conforming implementation must be accompanied by
> > documentation about various aspects of the standard which are
> > "implemented defined".  So strictly speaking, to make your
> > implementation conforming, you would need not only the above shell
> > script, and a Unix implementation to run it on, but also some
> > (rather vacuous!) documentation.
>
> Interesting. So, if I lost my manuals, I don't have a conforming
> implementation, even if I had one before and didn't change anything
> on my computer?

And if you accidentally delete the library, and didn't keep a back-up
copy, you don't have a conforming implementation either.  (I presume that
by "lose the manuals", you mean accidentally delete them on disk, since
I can't remember the last time I saw an implementation delivered with
paper manuals.)

For that matter, if you power down your computer, you cease to have
a conforming implementation as well.  The standard says nothing about
a conforming implementation being required to meet the requirements
if and only if it has the power turned on.

--
James Kanze    +33 (0)1 39 23 84 71    mailto: kanze@gabi-soft.fr
        +49 (0)69 66 45 33 10    mailto: jkanze@otelo.ibmmail.com
GABI Software, 22 rue Jacques-Lemercier, 78000 Versailles, France
Conseils en informatique orient   e objet --
              -- Beratung in objektorientierter Datenverarbeitung

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: AllanW@my-dejanews.com
Date: 1998/07/27
Raw View
In article <35BC73A0.2781@wizard.net>,
  James Kuyper <kuyper@wizard.net> wrote:
> Christopher Eltschka wrote:
> > Interesting. So, if I lost my manuals, I don't have a conforming
> > implementation, even if I had one before and didn't change anything
> > on my computer?
>
> Exactly. The implementor provided some of the parts of a conforming
> implementation, but it didn't become an actually conforming
> implementation until you installed it on your system. Then you managed
> to lose one of the parts that made it conforming. You also don't have a
> conforming implementation if your hardware malfunctions in certain
> implementation-dependent ways, for instance due to a power loss.

If a tree falls in a forest, and smashes a computer to smithereens,
so it can no longer run a conforming C++ compiler, BUT no C++ language
lawyer is around to document the failure -- will it still have bugs? 8^]

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: john@mail.interlog.com (John R MacMillan)
Date: 1998/07/29
Raw View
|Exactly. The implementor provided some of the parts of a conforming
|implementation, but it didn't become an actually conforming
|implementation until you installed it on your system.

Further, most implementations are certified on a fairly specific
hardware setup, so if you if don't have that same hardware, while you
may still have a conforming implementation it hasn't been certified
as such.
--
To reply by mail, please remove "mail." from my address -- but please
send e-mail or post, not both
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]





Author: fjh@cs.mu.OZ.AU (Fergus Henderson)
Date: 1998/07/24
Raw View
ark@research.att.com (Andrew Koenig) writes:

>Christopher Eltschka  <celtschk@physik.tu-muenchen.de> wrote:
>
>> Hmmm... the following program surely meets the requirements:
>
>> main(){}
>
>I guess that what I said is ambiguous.
>
>C89 has a bunch of capacity requirements, and requires every conforming
>implementation to compile one single program that hits all the limits at once.
>That is, the requirement is stated in terms of =, not <=.
>
>main(){} does not meet the requirements in that sense, because it is smaller
>than the limits.

Nevertheless, if I understand things correctly, the way the requirements
are stated in C89 still leaves a hole that makes it possible to implement
a trivial but conforming C compiler, such as the following:

 #!/bin/sh
 echo "This is a diagnostic"
 cp /bin/true a.out

All you need to do to make this implementation satisfy the requirements
about minimum capacity is to choose, as your single program that hits all
the limits at once, one that has no output and returns EXIT_SUCCESS.
Any program that does not behave the same way as /bin/true could be
considered to violate an implementation resource limit of one kind or
another.

The requirements about mandatory diagnostics in certain cases are
satisfied since this implementation always issues a diagnostic.

I believe the requirements stated in the C++ standard also make
the above implementation a conforming C++ implementation,
and for anyone who does not believe this, I challenge them to
find wording in the C++ standard which would demonstrate otherwise.

Actually, a conforming implementation must be accompanied by
documentation about various aspects of the standard which are
"implemented defined".  So strictly speaking, to make your
implementation conforming, you would need not only the above shell
script, and a Unix implementation to run it on, but also some
(rather vacuous!) documentation.

--
Fergus Henderson <fjh@cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh@128.250.37.3        |     -- the last words of T. S. Garp.
---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html              ]