X-Newsreader: Geminisoft Pimmy 3.2 Eng - www.geminisoft.com
From: "John Colagioia" <JColagioia@csi.com>
Newsgroups: rec.arts.int-fiction
Subject: Re: what's wrong with some existing IF languages
Date: Thu, 18 Jul 2002 07:36:40 -0400
References: <Xns924696F5A38E7edmewsicSPAMGUARDcom@199.45.49.11> <agfei1$l7p10$1@ID-60390.news.dfncis.de> <Xns924755A2D30A1edmewsicSPAMGUARDcom@199.45.49.11> <iain-137BC7.21103410072002@socrates.zen.co.uk> <nJ1X8.28523$5f3.16894@nwrddc01.gnilink.net> <Xns92479B14FAF54OKB@12.252.202.62> <656X8.29751$5f3.22064@nwrddc01.gnilink.net> <agitkb$qnp@dispatch.concentric.net> <Hy7X8.18$7W6.3@nwrddc02.gnilink.net> <S%7X8.311714$R61.268018@rwcrnsc52.ops.asp.att.net> <He9X8.241$7W6.122@nwrddc02.gnilink.net> <eheX8.177$uw.207@rwcrnsc51.ops.asp.att.net> <3D2EC4E8.80902@csi.com> <ago3kv$qo9@dispatch.concentric.net> <3d302ede@excalibur.gbmtech.net> <Nf7Y8.350287$R61.330207@rwcrnsc52.ops.asp.att.net> <3d317469@excalibur.gbmtech.net> <7LvY8.541163$cQ3.49111@sccrnsc01> <3D330FCF.60006@csi.com> <3d3437cd.20872218@news.tiscali.nl> <3d356991@excalibur.gbmtech.net> <ah4f98$eg4@dispatch.concentric.net>
MIME-Version: 1.0
Content-Type: text/plain
Content-Transfer-Encoding: 8bit
NNTP-Posting-Host: ool-182f30fa.dyn.optonline.net
X-Original-NNTP-Posting-Host: ool-182f30fa.dyn.optonline.net
Message-ID: <3d36a85c@excalibur.gbmtech.net>
X-Trace: excalibur.gbmtech.net 1026992220 ool-182f30fa.dyn.optonline.net (18 Jul 2002 07:37:00 -0400)
Organization: ProNet USA Inc.
Lines: 55
X-Authenticated-User: jnc
Path: news.duke.edu!newsgate.duke.edu!solaris.cc.vt.edu!news.vt.edu!iad-peer.news.verio.net!news.verio.net!news.maxwell.syr.edu!nntp.abs.net!uunet!dca.uu.net!excalibur.gbmtech.net
Xref: news.duke.edu rec.arts.int-fiction:106304

"Tzvetan Mikov" <ceco@jupiter.com> wrote:
>"John Colagioia" <JColagioia@csi.com> wrote in message
[...]
>> The standard
>> library is part of the standard that also defines
>> the standard C language.  The library, by definition
>> of being a library, is not part of the language.
>> Language components can't be eliminated and
>> replaced by a typical programmer.
>(Getting more and more offtopic...)

Not as far as you might think; we're going to revisit this
soon, I suspect, when we get back to Inform, whose standard
parser is in the standard library.

>Technically, you are wrong. There even was a recent discussion about this in
>comp.std.c.

That the C people have redefined words with obvious meanings
does not mean that I can or should adhere to them.

>The standard C library is part of the language. A C translator
>is allowed to simply 'know' the implications of "#include <stdio.h>" - the
>file "stdio.h" doesn't have to exist as such. Surprisingly, there are
>existing translators that take advantage of this (C interpreters mostly, I
>think), so it is not only theoretical.

The header files are irrelevant; they exist (currently) for
the purpose of delivering prototypes.  The I/O calls (and
every other library facet) are accessed differently than
facets of the language.  Calling printf() is not the same,
syntactically or semantically, as "calling" if().

Plus, given the philosophy behind C, you can (should be
able to) create an application which can *never* call
printf() (even by walking through memory can calling the
proper function pointer), but has its own I/O.  That is,
any standard library feature "ships with" the language,
but, by virtue of being replaceable, is not "part of"
the language.

If we adapt C's terminology, then either (a) we adapt it
to all languages, such that WriteListFrom() is "part of"
Inform (which it certainly is not), or (b) C is defined
entirely different than other languages, in a way that
makes it meaningless to discuss the language.

That is, what C calls "the language" isn't just a
language by anyone else's definition.

If this were rec.games.int-fiction, I might toss in the
floor wax/dessert topping reference from "The Lurking
Horror," but I'll restrain myself, here...

[...]
