From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: a new language, designed for safety ! Date: Wed, 18 Jun 2014 10:31:00 +0200 Organization: cbb software GmbH Message-ID: References: <1402308235.2520.153.camel@pascal.home.net> <85ioo9yukk.fsf@stephe-leake.org> <9qednXOIGNDuLQXORVn_vwA@giganews.com> <1872904482424209024.314619laguest-archeia.com@nntp.aioe.org> <810507a4-427e-42bb-a468-e5939a4470db@googlegroups.com> <9qbfr6yf0gnb.182y1qs9eigz4$.dlg@40tude.net> <1lk5etrvv7sy2$.p7h015lw2pmn$.dlg@40tude.net> <86ab6158-7273-4696-b4be-ceb950c7f218@googlegroups.com> <57qf222vyy01$.qjeaddzypcw2.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: QTaafVZuunHujkJPndFR7g.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:20425 Date: 2014-06-18T10:31:00+02:00 List-Id: On Wed, 18 Jun 2014 00:55:51 -0700 (PDT), Maciej Sobczak wrote: >> It is never blurred, cannot be. It could be ill-defined, yes. But in a >> *well-defined* formal language > > What is *well-defined*? http://en.wikipedia.org/wiki/Well-defined > If a language allows me to extend it by importing more syntax features by > means of a library import, is that well-defined? No. Such languages do not exist. If you have a language definition, that (in a well-defined language) gives you a countable set of all legal programs (not all of them compilable). http://en.wikipedia.org/wiki/Well-formed_formula Provided "importing" is a language term, that set includes everything you might "import." If "importing" is not a language term, then the effect of doing it is *another* language. Not the one under consideration. You cannot have both. You can consider "importing" and stuff as another meta-language dealing with the object languages. That is what preprocessor, generics and Co. is. Once you define your meta-language, it is a language again, and the reasoning apples to it fully. The only way out is to have it ill-defined. >> each syntactic construct is either legal or not. > > What if it becomes legal by means of library import? > > http://en.wikipedia.org/wiki/Extensible_programming Then it was legal already. Legality can be context-dependent. > "A language's standard library is often treated as part of the language [...]" Here "language" meant as a development framework not as a formal language. Compare: bugs are definitely a part of C language. >>> My definition is: language and its standard library are >>> indivisible. What now? >> >> Then it does not make sense to distinguish them. Thus there is no library >> at all. > > Fine. Which brings us two posts back to containers, arrays, allocators and > operators. What was the point of your previous statements that some of > these should be in the language while others should be in the library if > now you say that the distinction itself is meaningless? Because this distinction is NOT meaningless for Ada and other properly designed languages. You could invent a language where the distinction would make no sense. That would be so not because the principle were bad, but because the language is so poor and messy that it would make no sense to consider it in this context at all, like applying compresses to a dead man. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de