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:a24:5ec2:: with SMTP id h185mr17103159itb.19.1557672361786; Sun, 12 May 2019 07:46:01 -0700 (PDT) X-Received: by 2002:a9d:3982:: with SMTP id y2mr6816263otb.36.1557672361561; Sun, 12 May 2019 07:46:01 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!border1.nntp.ams1.giganews.com!nntp.giganews.com!feeder2-2.proxad.net!proxad.net!feeder1-2.proxad.net!209.85.166.215.MISMATCH!u76no36596ita.0!news-out.google.com!l135ni117itc.0!nntp.google.com!u76no36593ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 12 May 2019 07:46:01 -0700 (PDT) In-Reply-To: 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: <1b7eb791-f2ea-4dc7-92b5-670164269b0b@googlegroups.com> Subject: Re: Ada programmers: Edward Fish - interview From: Optikos Injection-Date: Sun, 12 May 2019 14:46:01 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56302 Date: 2019-05-12T07:46:01-07:00 List-Id: On Thursday, May 9, 2019 at 5:02:47 PM UTC-5, Optikos wrote: > 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 quest= ions though: > > > > (a) why didn't any of these take off? > > >=20 > > > Two-level grammars did not take off because they incompletely capture= the entire semantic meaning of the AARM. > >=20 > > The semantic meaning is the interesting part; arguably the only part th= at matters =E2=80=94 especially as I am of the opinion that text-based sour= ce-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 = the "lingua franca", but rather a structured and meaningful form. (eg the i= ntermediate representation.) -- but Byron needn't go that far, as I doubt m= any people would *want* to get in on a whole Integrated Development Environ= ment. > >=20 > > I get a bit of intuitive feel that limiting the scope of the Byron proj= ect to the role of "compiler" (albeit keeping things 'open'/modular enough = that it could be used in a real IDE) would invite more people being willing= to 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= approaches such as Z/Zed travel a different avenue. Other avenues might e= xist too. > >=20 > > Perhaps the problem is being tied to text and textual modes of thought,= as the term 'grammar' indicates, there is a great deal invested into treat= ing 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 effo= rt doing it twice: > > > 1) one transliteration of the prose into an Ada-centric semantically-= annotated syntax tree written in Ada language > > > then once again: > > > 2) one transliteration of the Ada-centric semantically-annotated synt= ax tree tree-transducer into C/C++-centric semantically-annotated tree writ= ten in C. > > >=20 > > > It seems that human beings manually transliterating the AARM twice is= once too many. > >=20 > > A while back, someone mentioned taking a look at "Alphard: Form and Con= tent" -- > > http://libgen.io/search.php?req=3D978-1-4612-5979-4&lg_topic=3Dlibgen&o= pen=3D0&view=3Dsimple&res=3D25&phrase=3D1&column=3Ddef / https://d-m.bksdl.= xyz/download/book/5c63f88850b4253978a11370 -- I haven't had a chance to but= according to wikipwdia it seems interesting/intriguing and may have some a= pplicability here: > > "Its main innovative feature was the introduction of the 'form' datatyp= e, which combines a specification > > and a procedural (executable) implementation. It also took the generato= r from IPL-V, as well as the > > mapping functions from Lisp and made it general case." >=20 > That was I. Alphard and Seed7 both are inspirations for what could be Lo= w Ada: an Ada-esque language in which normal ISO8652 (High) Ada could be i= mplemented as merely one instance of a new family of Ada-variant languages = under the Adang umbrella. Adang =3D Ada next generation. The adangs would= be the Adang family of languages that prune out something from the Low Ada= implementation to then build out something new-era Ada-embracing modern po= st-Adaisms. Each adang would jettison one musty crusty Ada83 axiom to perm= it one of the adangs to explore new programmer-usability territory that is = curtailed/squelched in today's ISO8652 (High) Ada. For example, > 1) One of the adangs would jettison Algol-PL/I-Pascal begin-end syntax fo= r the prevailing =E2=80=9Cfamiliarity=E2=80=9D of C-family {} cryptosymbol = syntax. > 2) One of the adangs would jettison various 1970s Ichbiah-era Ada83isms w= hose 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 bu= ilt up (e.g., all the less-than-stellar string representations) to impose t= he one true modern wise way on those topics. > 4) One of the adangs would jettison ISO8652 Ada's lifetime management, em= bracing one or more other lifetime management schemes (e.g., Rust's borrow = checker). > 5) As 2 or more adangs achieve their goals successfully, a separate blend= adang could integrate their disparate wisdom into an even bigger better ad= ang that is the offspring of those 2 or more parent adangs (as survival of = the fittest). > 6) and so forth, but all of the adangs (and also ISO8652-compliant High A= da) would be implemented in terms of Low Ada, which might be its own textua= l language and/or which might be its own stage of code generator in a multi= stage code-generation of the adang family of languages, squirting out a dif= ferent adang or High Ada depending on how Low Ada was tuned. Please see Me= taOCaml for more regarding N-stange multistage programming of code generato= rs of ... of code generators. 7) One of the adangs would jettison Algol-PL/I-Pascal BEGIN-END and LOOP sy= ntaxes for the prevailing ML-family LET-IN syntax and tail-recursion semant= ics to explore Ada fully embracing every feature in the functional-programm= ing paradigm.