comp.lang.ada
 help / color / mirror / Atom feed
From: "J-P. Rosen" <rosen@adalog.fr>
Subject: Re: Style Question: normal record vs discriminated null-record.
Date: Tue, 03 Jun 2014 06:38:37 +0200
Date: 2014-06-03T06:38:37+02:00	[thread overview]
Message-ID: <lmjjge$1lf$1@dont-email.me> (raw)
In-Reply-To: <hEajv.2899495$g45.2895635@fx10.iad>

Le 03/06/2014 04:44, Shark8 a écrit :
> Ok, given some sort of alert-system (meaning there shouldn't be any/much
> in the way of value manipulation of those objects) is it preferable to
> use a discriminated null-record or a record with normal components?
> 
> 
>     Type Grievousness is (Warning, Error);
>     Type Circumstance is (Expired_Data, Bad_Request, Malformed_Data);
> 
>     Type Alert_1(Severity : Grievousness; Condition :  Circumstance) is
>     null record;
> 
>     Type Alert_2 is record
>         Severity  : Grievousness;
>         Condition : Circumstance;
>     end record;
Depends how you perceive your data. Discriminants are intended to define
some kind of subclasses of your type, and can be used to parameterized
inner components. Some criteria for you to chose:

- You can define subtypes according to certain values of discriminants.

- Discriminants are always initialized.

- Discriminants cannot be changed after the declaration.

-- 
J-P. Rosen
Adalog
2 rue du Docteur Lombard, 92441 Issy-les-Moulineaux CEDEX
Tel: +33 1 45 29 21 52, Fax: +33 1 45 29 25 00
http://www.adalog.fr


  reply	other threads:[~2014-06-03  4:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-03  2:44 Style Question: normal record vs discriminated null-record Shark8
2014-06-03  4:38 ` J-P. Rosen [this message]
2014-06-03  4:40   ` J-P. Rosen
2014-06-03  6:20   ` Shark8
2014-06-03  7:19 ` 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