comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Example Ada calling Gnu Scientific Library (GSL)
Date: Fri, 31 Mar 2017 20:50:00 +0200
Date: 2017-03-31T20:50:00+02:00	[thread overview]
Message-ID: <obm8co$1hnd$1@gioia.aioe.org> (raw)
In-Reply-To: obm740$4il$1@dont-email.me

On 2017-03-31 20:31, G.B. wrote:
> On 30.03.17 16:22, Dmitry A. Kazakov wrote:
>> Preconditions may help, do we have formal generic pre-/post-conditions?
>
> As a hint to a user of generic package, it seems
> possible to announce aspects of FP Types required:
>
> generic
>    type Fractional is digits <>;
> package R is
>    type T is new Fractional
>    with
>      Dynamic_Predicate => (Fractional'Digits >= 8
>                              and T in -4.0 .. +4.0);
>       function Algo (X : T) return T;
> end R;

This is of course different from specifying it in the formal part. The 
only reason for generics ever exist is static substitution and static 
checks. With dynamic checks in place a class-based model is as efficient 
as generic expansion.

BTW, there are two kinds of constraints:

1. That certain values are included
2. That certain values are excluded

with uncounted variations of, e.g. that the range includes zero and is 
symmetric around zero etc.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


  reply	other threads:[~2017-03-31 18:50 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-29  1:29 Example Ada calling Gnu Scientific Library (GSL) Leo Brewin
2017-03-29  7:01 ` gautier_niouzes
2017-03-29  7:23   ` Dmitry A. Kazakov
2017-03-30 12:39     ` gautier_niouzes
2017-03-30 14:22       ` Dmitry A. Kazakov
2017-03-30 20:44         ` Randy Brukardt
2017-03-31 18:31         ` G.B.
2017-03-31 18:50           ` Dmitry A. Kazakov [this message]
2017-03-29  7:19 ` hreba
2017-03-29 20:07   ` Randy Brukardt
2017-04-04 21:25     ` hreba
2017-04-05 16:29       ` Simon Wright
2017-04-05 20:21         ` hreba
2017-04-06  7:30           ` Simon Wright
2017-04-07 18:45             ` hreba
2017-04-08  8:28               ` Simon Wright
2017-04-09 10:57                 ` hreba
2017-04-09 15:17                   ` Simon Wright
2017-04-10  8:53                     ` hreba
2017-04-10  9:47                       ` Dmitry A. Kazakov
2017-04-10 15:39                         ` hreba
2017-04-10 17:16                           ` Dmitry A. Kazakov
2017-04-10 17:43                           ` Simon Wright
2017-04-10 15:44                       ` Simon Wright
2017-04-11 17:31                         ` hreba
2017-04-11 18:45                           ` Simon Wright
2017-04-11 19:46                             ` 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