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.129.85.86 with SMTP id j83mr48064975ywb.9.1438209141278; Wed, 29 Jul 2015 15:32:21 -0700 (PDT) X-Received: by 10.140.104.147 with SMTP id a19mr603761qgf.2.1438209141260; Wed, 29 Jul 2015 15:32:21 -0700 (PDT) Path: buffer1.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!z61no4061313qge.0!news-out.google.com!4ni82659qgh.1!nntp.google.com!69no2697263qgl.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 29 Jul 2015 15:32:20 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=81.203.145.32; posting-account=AFCLjAoAAABJAOf_HjgEEEi3ty-lG5m2 NNTP-Posting-Host: 81.203.145.32 References: <2df4698f-4c8e-457c-822d-209cb2f8ab5e@googlegroups.com> <014427b1-ff7a-4a69-82e6-0330af77ed96@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Running a preprocessor from GPS? From: EGarrulo Injection-Date: Wed, 29 Jul 2015 22:32:21 +0000 Content-Type: text/plain; charset=ISO-8859-1 Xref: number.nntp.giganews.com comp.lang.ada:194462 Date: 2015-07-29T15:32:20-07:00 List-Id: On Wednesday, July 29, 2015 at 10:32:16 PM UTC+2, Randy Brukardt wrote: > "EGarrulo" wrote in message > >> Not strongly typed. > > > > What do you mean? Common Lisp has FORMAT and it is as strongly typed as > > they can be. > > In Ada terms, typing is something done at compile-time. Ada does not have > runtime typing (one could imagine tag checks to be runtime typing, but > that's a check in Ada, not related to typing). But is this a valid excuse? Aren't programming languages supposed to let programmers write useful programs? Programmers shouldn't be looking for clever ways to accomplish basic tasks. Neither should they write verbose code to accomplish those basic tasks. If a programming language doesn't let programmers print formatted output easily, then it is deficient and it must be fixed, because printing formatted output is a basic task. If Ada offered runtime typing by means of a type `Any`, then `Printf` could be trivially written as: type Printf_Arguments is array (Positive range <>) of Any; procedure Printf (Format : String; Arguments : Printf_Arguments); > > Wanting to write sloppy code and wanting to write only what is necessary > > are > > two different attitudes, don't you agree? > > What *you* think is unnecessary might be very valuable in someone else's > context. And they'd view it as "sloppy". Exactly. That is why I wonder why I can't write a call to `Trace` as a one-liner. Doing so would be very valuable to me. > > Generics *are* glorified macros anyway, in a sense. > > This is an especial sore point with me! > > Formally in the Ada RM they are, which causes all manner of nonsense effects > which then get erased by special rules. Stupid. What do you mean? Conceptually, generics are macros. If a compiler is clever enough to reuse a common implementation, then kudos to the writers of that compiler, but such behaviour shouldn't be a requirement, I think.