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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: buffer2.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!1.eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: "J-P. Rosen" Newsgroups: comp.lang.ada Subject: Re: Build language with weak typing, then add scaffolding later to strengthen it? Date: Tue, 26 May 2015 10:49:51 +0200 Organization: A noiseless patient Spider Message-ID: References: <127b004d-2163-477b-9209-49d30d2da5e1@googlegroups.com> <59a4ee45-23fb-4b0e-905c-cc16ce46b5f6@googlegroups.com> <46b2dce1-2a1c-455d-b041-3a9d217e2c3f@googlegroups.com> <3277d769-6503-4c7f-885f-3a730762b620@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Tue, 26 May 2015 08:48:41 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="23dab0694e4174fdc880833ec67fa650"; logging-data="30729"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18v/57NA38Ir+gHU+q0KXyq" User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: Cancel-Lock: sha1:+jqQTjQXquWLckjj6mNFKVgqTkA= Xref: number.nntp.giganews.com comp.lang.ada:193309 Date: 2015-05-26T10:49:51+02:00 List-Id: Le 26/05/2015 10:01, Sylvain Laperche a écrit : > On 2015-05-25, Peter Chapin wrote: >> I haven't read the Oberon Report but I can't help but wonder if >> it's leaving out a lot. > > For a simple exemple: what happen when an integer overflow? - The > program aborts? - The value silently wrap-around (2-complement > behavior)? - Is it an undefined behavior (like in C)? > > Another one: what happens when there is an access out of the bounds > of an array? A crash? A runtime check? undefined behavior (like C)? > > I did not find the answer in these 17 pages. It seems that it leaving > out a lot indeed… > I also downloaded the Oberon report and had a look at it (easy, only 17 pages). I'd say it is not to be compared with anything close to a standard. It's just a "report" that gives a vague idea of the language without addressing any serious issue. TBH, it claims that its fuzzy definitions are intended: "What remains unsaid is mostly left so intentionally, either because it is derivable from stated rules of the language, or because it would unnecessarily restrict the freedom of implementors." Translate: we don't care for portability. Another good one: Oberon's definition of a static expression: "A constant expression can be evaluated by a mere textual scan without actually executing the program." And the list of missing features is stunning, just some of them: No user defined integer types (only two integer types: BYTE and INTEGER, and they are /not/ incompatible), no enumeration types, no fixed points, arrays indexed from 0, no variant records, no exceptions, no tasking, no generics, no representation clauses, structural equivalence for array parameters, no user defined operators, no overloading, no overriding, etc... Looks more like a slightly improved Pascal appropriate for teaching than an industrial language. In short: if you miss most important features, and have only weak definitions for the rest, it is easy to have a small reference manual! -- J-P. Rosen Adalog 2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00 http://www.adalog.fr