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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.140.232.88 with SMTP id d85mr15472494qhc.0.1432981731935; Sat, 30 May 2015 03:28:51 -0700 (PDT) X-Received: by 10.140.102.172 with SMTP id w41mr176579qge.40.1432981731921; Sat, 30 May 2015 03:28:51 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!z60no4637110qgd.0!news-out.google.com!k20ni45024qgd.0!nntp.google.com!z60no4637108qgd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sat, 30 May 2015 03:28:51 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=105.237.62.132; posting-account=orbgeAkAAADzWCTlruxuX_Ts4lIq8C5J NNTP-Posting-Host: 105.237.62.132 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> <9fa68fb7-89f0-42b3-8f25-20e70cb34d63@googlegroups.com> <87egm3u662.fsf@adaheads.sparre-andersen.dk> <20c56bea-2803-4aa9-a626-2d25e480df20@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Build language with weak typing, then add scaffolding later to strengthen it? From: jan.de.kruyf@gmail.com Injection-Date: Sat, 30 May 2015 10:28:51 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:26092 Date: 2015-05-30T03:28:51-07:00 List-Id: On Friday, May 29, 2015 at 11:51:40 PM UTC+2, Randy Brukardt wrote: >=20 > >> So now we're at 228 pages. With some reformatting, and removing all of= =20 > >> the > >> introductory text, notes, and examples, we'd save at least 20% of that > >> (probably more). So that means that an equivalently formatted Ada=20 > >> standard > >> would probably be roughly 180 pages (or maybe 270 if we left everythin= g=20 > >> in). > > > >Actually, you could get away with significantly less (I'd say, less than > >100 pages) if you rewrote the manual in an Oberon-like (or Wirthian) > >style, i.e., a manual that tells the programmer what he or she needs to > >know, but leaves plenty of details unspecified which the compiler writer > >would need to know. >=20 > Which only works if there is never going to be more than one compiler (i.= e.=20 > Oberon, Eiffel). Otherwise, it will eventually be a disaster, or the deta= ils=20 > will get filled in, or both. >=20 > ... > >> And, of course, Wirth himself has a long history of writing sloppy=20 > >> language > >> standards and leaving when other people try to clean them up (Algol-W, > >> Pascal, Modula, Modula 2, ...). He's a brilliant language designer, bu= t=20 > >> he > >> always has underdescribed standards. (That surely includes building > >> standards without any library description, which is nonsense for any > >> purpose.) > > > >Now *that* is unfair to Wirth! (Not the part with the brilliant language > >designer, but the other part.) >=20 > Not really. He complained about other people's language designs not being= =20 > precise (in his Turing Award speech in particular vis-a-vis PL/I), but hi= s=20 > don't seem to need the same amount of detail. I call BS on that. >=20 > Randy. Randy, I think his comments were deeply grounded, but in something I have not seen= discussed in connection with Ada, or a few other languages for that matter= . So I understand what you are saying, but I think it is groundless. For the old man a language is "right" when the EBNF diagram is "right" or p= erhaps "beautiful". (EBNF : Extended Backer Naus Formalism) Beautiful for a= swiss person would then translate to: rather minimalistic, so you can see = the structure well. This is a culture thing. And "right" would be mathemati= cally right, because that is the whole object of drawing up an EBNF in the = first place. He has a strong base in that, as he was a pupil of old Dijkstr= a, who programmed by contract in his day. The contract being the spec of th= e hardware not build yet. Those programs generally were faultless, since th= e mathematical basis was right. All his life Wirth has striven to get that part right, which is why he star= ted over a few times to see if he could beautify that part a bit more. A good clear EBNF is for him (and for me) a very strong indicator of the pr= ecision and the ease of use of any language. Almost _everything_ follows from the 2 pages of EBNF. The compiler structur= e. The error detection. You name it.=20 And from the discussion here it was quite clear that where Oberon needs tex= t over and beyond the EBNF things immediately were murky and open to critiq= ue. In youthful courage (or silliness, depending where you stand) I once set ou= t to "fix" something in Oberon.=20 In those days memory was still expensive on a microcontroller so I set out = to add a bit type, which would then be part of a byte (this being 8 bit wor= ld), which was very useful to me. I succeeded reasonably well and it worked= ok. But the EBNF was bludgeoned beyond recognition and strangely so was th= e compiler. Especially the type tree. So I will not fall for that temptation again, I plainly do not have the mat= hematical background for such an undertaking, in hindsight it was not worth= it. Before I could just consult the EBNF if I was unclear about some langu= age construct, now I had to find my notes back. nah! So if you want to do any cleaning up I would say lets start with drawing up= a EBNF of Ada. It will explain the critique from Dijkstra and Wirth, and i= t will explain the calls for a simpler Ada that we have heard since day 1 a= ccording to JPRosen. And the biggest bonus will be that we will be able to work faster, once we = have a good understanding of the mathematical underpinnings of the language= . j.