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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: I'm facing an issue with: call to abstract procedure must be dispatching Date: Wed, 9 Dec 2015 13:03:46 +0100 Organization: cbb software GmbH Message-ID: <1j28s23yiy4it$.86sbf42gu6wk.dlg@40tude.net> References: <8bc7fd76-f00a-4eea-9715-470af028fc84@googlegroups.com> <1krm4xun4e4ny.jmh9kvf6s0a9.dlg@40tude.net> <12dc7aea-933d-4271-95bd-10df808917e4@googlegroups.com> <5hfb2q9imjfu.zs3xp9gxw0d3.dlg@40tude.net> <5788b259-8886-4ee2-8c3d-7799abfd840e@googlegroups.com> <14acd8b0-a5e9-40fd-b7cc-d319f914d507@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: bqgfK7NL3xTHnr0WRaLl4g.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:28733 Date: 2015-12-09T13:03:46+01:00 List-Id: On Wed, 9 Dec 2015 11:53:43 +0100, G.B. wrote: > On 08.12.15 22:08, Dmitry A. Kazakov wrote: > >> There are people in c.l.a who believe in procedural decomposition and >> inference from the type structure. It is incompatible with fundamental >> Ada's principles of strong typing and separation of interface and >> implementation. But that is my opinion. > > There are those in c.l.ada, including Dmitry Kazakov ;-) ;-) ;-), > who suggested that the parameter profile of a subprogram can > be seen as a type. You mean procedural types? Ada does not have them, only the access-to-subprogram kludge. > For practical matters in single programs, > this looks perfectly fine to me. Considering, if everything in > a program is a reusable building block, when is there any use? What about the process of fitting? In order to reuse you need an interface how and where does it fit. You cannot do that without types, e.g. of the parameters. The second question is the context where you may to reuse the block. How do you describe the context? In terms of types, the context is everywhere the types of the interface exist (this includes subtype constraints). That makes your "block" a mere primitive operation of those types. The bottom line, you can have your lazy blocks only when not reusable and weakly typed. > (Moreover, what is the type of constructs that do actually reuse > if everything became an Ada type?) I didn't say that everything is a type. I only said that procedural decomposition is superseded by OO decomposition. Largely because programming in terms of singular values is superseded by programming in terms of sets of values (type) and sets of types (generic programming). This is a normal evolutionary process to handle increasing SW complexity. This is orthogonal to other language constructs, though most of them do rely on types anyway, e.g. if, for, case statements require certain class of types to work. As such they could be viewed as syntax sugar for some primitive operations. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de