comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: 'Protected' abstract subprograms
Date: Fri, 17 Jan 2014 17:23:55 -0600
Date: 2014-01-17T17:23:55-06:00	[thread overview]
Message-ID: <lbce2b$cqm$1@loke.gir.dk> (raw)
In-Reply-To: wccvbxje5sn.fsf@shell01.TheWorld.com

"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message 
news:wccvbxje5sn.fsf@shell01.TheWorld.com...
...
> The freezing rules make my brain hurt.  Even though I had a hand in
> writing them!  ;-)
>
> A better-designed language would not have anything like freezing rules.

That's a facinating assertion from the guy that's responsible for most the 
AARM notes describing the freezing rules. Especially as you guys pretty much 
redesigned that area in Ada 95 -- you essentially created a whole new 
language design for it. It makes me wonder how a language could be better 
designed and not "have anything like freezing rules".

After all, a compiler has to have a known representation for types and 
objects at some point, certainly before code generation. If one is going to 
support some sort of separate compilation (especially *safe* separate 
compilation), freezing rules or something like them seems manditory. [There 
is an argument to be made that a truly modern language doesn't need to 
support separate compilation at the language level, given that it is now 
practical to delay compilation until bind time. But that seems awfully 
radical and would seem to put an upper limit on the sizes of programs that 
could be written in the language. I don't think that's what you meant.]

Ada's freezing rules are far more detailed than absolutely necessary, but 
the obvious way to get simplify them would be to require that all types are 
declared before all objects (a-la Pascal) -- and we have evidence that's too 
inflexible. There don't seem to be any obvious way to simplify them if 
objects can be declared anywhere.

So I have to wonder what sort of "well-designed language" you have in mind.

                                 Randy.







  reply	other threads:[~2014-01-17 23:23 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-10 22:00 'Protected' abstract subprograms sbelmont700
2014-01-10 22:30 ` Randy Brukardt
2014-01-11 16:12   ` sbelmont700
2014-01-14  3:45     ` Randy Brukardt
2014-01-14  9:05       ` Dmitry A. Kazakov
2014-01-15  0:36         ` Randy Brukardt
2014-01-15  9:17           ` Dmitry A. Kazakov
2014-01-15 14:11             ` Robert A Duff
2014-01-15 15:40               ` adambeneschan
2014-01-15 21:21                 ` Robert A Duff
2014-01-15 23:10                   ` Randy Brukardt
2014-01-16  0:51                     ` Robert A Duff
2014-01-16 10:43                       ` AdaMagica
2014-01-16 16:32                         ` adambeneschan
2014-01-17  1:49                         ` Robert A Duff
2014-01-17 23:23                           ` Randy Brukardt [this message]
2014-01-19 21:07                             ` Robert A Duff
2014-01-20  8:40                               ` Dmitry A. Kazakov
2014-01-21 14:37                                 ` Robert A Duff
2014-01-22  8:27                                   ` Dmitry A. Kazakov
2014-01-21  1:21                               ` Randy Brukardt
2014-01-21 14:35                                 ` Robert A Duff
2014-01-15 23:17               ` Randy Brukardt
2014-01-16  8:52               ` Dmitry A. Kazakov
2014-01-11  8:41 ` J-P. Rosen
2014-01-11  8:59 ` Dmitry A. Kazakov
2014-01-11 13:42   ` Niklas Holsti
2014-01-11 19:35     ` Dmitry A. Kazakov
2014-01-12  9:19       ` Niklas Holsti
2014-01-12 10:22         ` Dmitry A. Kazakov
replies disabled

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