comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: discriminant questions
Date: Tue, 27 Sep 2011 20:06:35 +0200
Date: 2011-09-27T20:06:36+02:00	[thread overview]
Message-ID: <4e8210ab$0$6550$9b4e6d93@newsspool4.arcor-online.net> (raw)
In-Reply-To: <veptzbcpi2gd.2kmcd2ajn0cc.dlg@40tude.net>

On 27.09.11 17:38, Dmitry A. Kazakov wrote:
> On Tue, 27 Sep 2011 17:11:03 +0200, Georg Bauhaus wrote:
> 
>> On 27.09.11 14:14, Dmitry A. Kazakov wrote:
>>> On Tue, 27 Sep 2011 12:18:28 +0200, Georg Bauhaus wrote:
>>>
> [...]
>>  So you end up explaining tasks
>> and protected objects anyway.  And you might be able to explain
>> why seemingly advantageous "primitives" like "concurrent" and
>> "lock" had been preferred to a library based approach.
> 
> As another example take elliptic integral of the first kind: F(x,k).

I had been talking about programming constructs, not specialized
mathematical functions that may or may not be expressed in terms
of more primitive mathematical functions.  The latter is quite
interesting, but might be seen as an experiment that should finally
arrive at some language, not just experimental libraries treated
as language.

That is, I'm assuming that programmers want a loop construct
in Ada, not just goto.

I'm assuming that they don't want to have to define loop in
terms of goto, even when this has certain advantages.
Or rely on libraries to supply "loop", not just the compiler.

I'm assuming that if programmers always had to build
(or have someone do it for them) specific concurrency constructs
out of concurrency primitives, than this is too time consuming.
A libraries approach seems like a kludge, too.

The of mine, quoted above, came out wrong: it should say that
"task" and "protected object" were chosen, not CAS or some such,
with libraries around it.

There is a staircase, so to speak, from very primitive features
up to more "heavy" features.  By *default*, I'd rather not
force programmers to always go down to the basement.
And hope that the libraries at upper floors are just as good as
what a language will normally make the compiler do.

Yes, in Ada 2012 we may reinvent basics in terms of more primitive
language features such as conditional goto, 'Succ/'Pred, and
and increment and decrement operations:

   type Nat is range 0 .. System.Max_Int;

   function "+" (Left, Right: in out Nat) return Nat is
      Y : Nat := 0;
   begin
      Copy (Target => Y, Source => Left);
  <<A>>
      if Right /= 0 then
         goto B;
      end if;
      goto C;
  <<B>>
      Y := Nat'Succ (Y);
      Right := Nat'Pred (Right);
      goto A;
  <<C>>
      return Y;
   end "+";


assuming a suitable definition of Copy.  I like it better
when Ada provides more than primitive built-ins. Goto and
libraries could provide a user-definable interface for defining
"loop".  I don't think programmers would ever care.

Rules for defining language primitives in libraries might
add some openness.  I truest that there will be overlap
between two sets of computer professionals, then:

 A := { Authors of compilers }
 B := { Authors of future library }

 A and B = A?

What is n in

 |A| - |A and B| = n% ?



> Why
> bother to with subprograms, accuracy of real types, real types themselves,
> approximation techniques for such a simple thing?

Ada's way of specifying fundamental types refers to concepts
relatively far away from hardware, IMO. The expression
  range 0.0 .. 100.0
is language. Thankfully, I don't have to follow some interface
of defining range types myself, interesting as it might be.
I'm also not sure that all Ada programmers will like it if
the very process of interpreting "range <x> .. <y>" is moved
to libraries.


> The answer to your question was given by Occam 700 years ago.

How much hair would the rasor have cut from Ada's definition
of its heavy concurrency primitives?

Iverson and the makers of S (and R) have begged to differ
as regards the "reach" of primitives.
The big money insurance industry says they were right.
(And, please, temporary success or failure of this or that
branch of industry is not an argument against language design
unless there is a causal relation.)

A question related to the "reach" of features: Are there patterns
of programming embedded control software that could very well
be reflected in language features?  I think they are, but not
in Ada, which is too primitive here.


>> At Ada-auth, they usually say something about customer response to
>> implementation defined pragmas and such.
> 
> Customer response to the language standard? Are you joking?

Response to experimental features such as pragma Assert; contracts
specified with pragma Precondition and such; or conditional
expressions, I think.




  reply	other threads:[~2011-09-27 18:06 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-17 16:30 discriminant questions ytomino
2011-09-17 17:19 ` Dmitry A. Kazakov
2011-09-17 17:46   ` ytomino
2011-09-17 19:41     ` Dmitry A. Kazakov
2011-09-17 22:55       ` ytomino
2011-09-18  8:50         ` Dmitry A. Kazakov
2011-09-18 10:54           ` ytomino
2011-09-18 11:35             ` Dmitry A. Kazakov
2011-09-18 12:41               ` ytomino
2011-09-18 13:17                 ` Dmitry A. Kazakov
2011-09-18 16:22                   ` ytomino
2011-09-18 16:32                   ` ytomino
2011-09-18 18:15                     ` Dmitry A. Kazakov
2011-09-18 23:44                       ` ytomino
2011-09-19  7:27                         ` Dmitry A. Kazakov
2011-09-18 14:43               ` Dmitry A. Kazakov
2011-09-18 16:46               ` Robert A Duff
2011-09-18 18:01                 ` Dmitry A. Kazakov
2011-09-18 19:20                   ` Maciej Sobczak
2011-09-19  7:39                     ` Dmitry A. Kazakov
2011-09-19 20:00                       ` Maciej Sobczak
2011-09-20  7:33                         ` Dmitry A. Kazakov
2011-09-20 15:45                           ` Maciej Sobczak
2011-09-20 16:48                             ` Dmitry A. Kazakov
2011-09-20 20:19                               ` Maciej Sobczak
2011-09-21  7:48                                 ` Dmitry A. Kazakov
2011-09-21 20:51                                   ` Maciej Sobczak
2011-09-22  8:07                                     ` Dmitry A. Kazakov
2011-09-22 20:57                                       ` Maciej Sobczak
2011-09-23  7:59                                         ` Dmitry A. Kazakov
2011-09-23 10:57                                           ` Georg Bauhaus
2011-09-23 22:30                                           ` Randy Brukardt
2011-09-23 22:50                                           ` Randy Brukardt
2011-09-24  6:46                                             ` Dmitry A. Kazakov
2011-09-26 22:48                                               ` Randy Brukardt
2011-09-27  8:10                                                 ` Dmitry A. Kazakov
2011-09-27 10:18                                                   ` Georg Bauhaus
2011-09-27 12:14                                                     ` Dmitry A. Kazakov
2011-09-27 15:11                                                       ` Georg Bauhaus
2011-09-27 15:38                                                         ` Dmitry A. Kazakov
2011-09-27 18:06                                                           ` Georg Bauhaus [this message]
2011-09-27 19:06                                                             ` Dmitry A. Kazakov
2011-09-29  0:01                                                               ` Georg Bauhaus
2011-09-29  8:26                                                                 ` Dmitry A. Kazakov
2011-09-30  1:24                                                                   ` Randy Brukardt
2011-09-30  8:10                                                                     ` Dmitry A. Kazakov
2011-09-30 10:07                                                                   ` Georg Bauhaus
2011-09-30 12:38                                                                     ` Dmitry A. Kazakov
2011-09-30 17:40                                                                       ` Georg Bauhaus
2011-09-30 18:55                                                                         ` Dmitry A. Kazakov
2011-09-23  9:23                                       ` Stephen Leake
2011-09-23  9:48                                         ` Dmitry A. Kazakov
2011-09-23 22:42                                           ` Randy Brukardt
2011-09-24  6:56                                             ` Dmitry A. Kazakov
2011-09-26 22:43                                               ` Randy Brukardt
2011-09-24 10:47                                             ` Stephen Leake
2011-09-24 12:54                                       ` Simon Wright
2011-09-24 14:46                                         ` Dmitry A. Kazakov
2011-09-24 16:21                                           ` Simon Wright
2011-09-24 16:43                                             ` Dmitry A. Kazakov
2011-09-22  2:52                                   ` Randy Brukardt
2011-09-22  8:11                                     ` Dmitry A. Kazakov
2011-09-20  0:01           ` Randy Brukardt
2011-09-20  7:38             ` Dmitry A. Kazakov
2011-09-20 11:11               ` AdaMagica
2011-09-20 12:09                 ` Dmitry A. Kazakov
2011-09-20 12:31                   ` AdaMagica
2011-09-20 12:57                     ` Dmitry A. Kazakov
2011-09-20 23:28                       ` ytomino
2011-09-21  5:03                         ` AdaMagica
2011-09-21  8:08                         ` Dmitry A. Kazakov
2011-09-21 10:03                           ` Georg Bauhaus
2011-09-21 10:29                             ` Dmitry A. Kazakov
2011-09-22  3:21                           ` Randy Brukardt
2011-09-22  3:05                   ` Randy Brukardt
2011-09-19 23:35         ` Randy Brukardt
2011-09-20 21:39           ` ytomino
2011-09-22  3:32             ` Randy Brukardt
2011-09-18 16:32 ` ytomino
2011-09-19 14:46   ` ytomino
2011-09-19 15:14     ` Dmitry A. Kazakov
2011-09-19 17:49       ` ytomino
2011-09-20  7:29         ` Georg Bauhaus
2011-09-20 19:50           ` ytomino
2011-09-20  8:08         ` Dmitry A. Kazakov
2011-09-20 18:47           ` ytomino
2011-09-21  8:16             ` Dmitry A. Kazakov
2011-09-21  9:55               ` ytomino
2011-09-22  3:26                 ` Randy Brukardt
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox