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.1 required=5.0 tests=BAYES_00,PDS_OTHER_BAD_TLD autolearn=no autolearn_force=no version=3.4.4 X-Received: by 2002:a02:c807:: with SMTP id p7mr5383627jao.38.1557439365489; Thu, 09 May 2019 15:02:45 -0700 (PDT) X-Received: by 2002:a9d:7851:: with SMTP id c17mr91135otm.52.1557439365284; Thu, 09 May 2019 15:02:45 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!fdn.fr!proxad.net!feeder1-2.proxad.net!209.85.166.215.MISMATCH!b2no25749itd.0!news-out.google.com!v189ni51itv.0!nntp.google.com!136no25690itk.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 9 May 2019 15:02:44 -0700 (PDT) In-Reply-To: <1a915f9c-2560-4668-9375-764271dfbffb@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=97.99.196.17; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 97.99.196.17 References: <0ee94773-9432-4117-ae73-6763347809ea@googlegroups.com> <271e5a12-9292-4078-a2b0-7bba666327ae@googlegroups.com> <5794bba8-6167-4648-9631-732eb0e1a5ac@googlegroups.com> <1a915f9c-2560-4668-9375-764271dfbffb@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Ada programmers: Edward Fish - interview From: Optikos Injection-Date: Thu, 09 May 2019 22:02:45 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56273 Date: 2019-05-09T15:02:44-07:00 List-Id: On Friday, April 26, 2019 at 5:41:06 PM UTC-5, Shark8 wrote: > On Friday, April 26, 2019 at 12:52:46 PM UTC-6, Optikos wrote: > [snip] > > >=20 > > > So, obviously, the idea isn't new =E2=80=94 this invites some questio= ns though: > > > (a) why didn't any of these take off? > >=20 > > Two-level grammars did not take off because they incompletely capture t= he entire semantic meaning of the AARM. >=20 > The semantic meaning is the interesting part; arguably the only part that= matters =E2=80=94 especially as I am of the opinion that text-based source= -programs are absolutely the wrong way to address programming. >=20 > As I envision a whole tool-suite for Ada, it's not text that should be th= e "lingua franca", but rather a structured and meaningful form. (eg the int= ermediate representation.) -- but Byron needn't go that far, as I doubt man= y people would *want* to get in on a whole Integrated Development Environme= nt. >=20 > I get a bit of intuitive feel that limiting the scope of the Byron projec= t to the role of "compiler" (albeit keeping things 'open'/modular enough th= at it could be used in a real IDE) would invite more people being willing t= o contribute. >=20 > > > (b) what difficulties did they encounter that may still be extant? > >=20 > > Two-level grammars are unnatural for human beings to think in. Other a= pproaches such as Z/Zed travel a different avenue. Other avenues might exi= st too. >=20 > Perhaps the problem is being tied to text and textual modes of thought, a= s the term 'grammar' indicates, there is a great deal invested into treatin= g programming languages in a textual-linguistic sense. >=20 > > > (c) how much work would it be to build on any of these as opposed to= all-new development? > >=20 > > Much effort. But then again, GNAT expended an immense amount of effort= doing it twice: > > 1) one transliteration of the prose into an Ada-centric semantically-an= notated syntax tree written in Ada language > > then once again: > > 2) one transliteration of the Ada-centric semantically-annotated syntax= tree tree-transducer into C/C++-centric semantically-annotated tree writte= n in C. > >=20 > > It seems that human beings manually transliterating the AARM twice is o= nce too many. >=20 > A while back, someone mentioned taking a look at "Alphard: Form and Conte= nt" -- > http://libgen.io/search.php?req=3D978-1-4612-5979-4&lg_topic=3Dlibgen&ope= n=3D0&view=3Dsimple&res=3D25&phrase=3D1&column=3Ddef / https://d-m.bksdl.xy= z/download/book/5c63f88850b4253978a11370 -- I haven't had a chance to but a= ccording to wikipwdia it seems interesting/intriguing and may have some app= licability here: > "Its main innovative feature was the introduction of the 'form' datatype,= which combines a specification > and a procedural (executable) implementation. It also took the generator = from IPL-V, as well as the > mapping functions from Lisp and made it general case." That was I. Alphard and Seed7 both are inspirations for what could be Low = Ada: an Ada-esque language in which normal ISO8652 (High) Ada could be imp= lemented as merely one instance of a new family of Ada-variant languages un= der the Adang umbrella. Adang =3D Ada next generation. The adangs would b= e the Adang family of languages that prune out something from the Low Ada i= mplementation to then build out something new-era Ada-embracing modern post= -Adaisms. Each adang would jettison one musty crusty Ada83 axiom to permit= one of the adangs to explore new programmer-usability territory that is cu= rtailed/squelched in today's ISO8652 (High) Ada. For example, 1) One of the adangs would jettison Algol-PL/I-Pascal begin-end syntax for = the prevailing =E2=80=9Cfamiliarity=E2=80=9D of C-family {} cryptosymbol sy= ntax. 2) One of the adangs would jettison various 1970s Ichbiah-era Ada83isms who= se time came & went that are standing in the way of the ARG's various AIs. 3) One of the adangs would jettison backwards-compatibility cruft that buil= t up (e.g., all the less-than-stellar string representations) to impose the= one true modern wise way on those topics. 4) One of the adangs would jettison ISO8652 Ada's lifetime management, embr= acing one or more other lifetime management schemes (e.g., Rust's borrow ch= ecker). 5) As 2 or more adangs achieve their goals successfully, a separate blend a= dang could integrate their disparate wisdom into an even bigger better adan= g that is the offspring of those 2 or more parent adangs (as survival of th= e fittest). 6) and so forth, but all of the adangs (and also ISO8652-compliant High Ada= ) would be implemented in terms of Low Ada, which might be its own textual = language and/or which might be its own stage of code generator in a multist= age code-generation of the adang family of languages, squirting out a diffe= rent adang or High Ada depending on how Low Ada was tuned. Please see Meta= OCaml for more regarding N-stange multistage programming of code generators= of ... of code generators. Also Adang vaguely fits with the naming pattern of Clang and Flang preceden= ts as LLVM-backended compiler front-ends, but solves the Ada'succ and Add++= naming challenge.