comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de>
Subject: Re: Concatenation and Characters
Date: Tue, 22 Oct 2002 14:43:37 +0000 (UTC)
Date: 2002-10-22T14:43:37+00:00	[thread overview]
Message-ID: <ap3o6p$5sl$1@a1-hrz.uni-duisburg.de> (raw)
In-Reply-To: slrnaragj2.uu.lutz@taranis.iks-jena.de

Lutz Donnerhacke <lutz@iks-jena.de> wrote:
: * Georg Bauhaus wrote:
:> o.K. it is not built into the language, but a syntactically valid
:> subprogram a la
:> 
:>   procedure fill(bowl: out glass; filled: out boolean);
:> 
:> does inform readers about a potentially unsatisfying dring?
: 
: It raises EDONTDRINKANDDRIVE.

No it doesn't :)

package drinks is
   
   EDONTDRINKANDDRIVE: exception;
   -- everyone knows this
   
   subtype up_to is float range 0.0..1.1365;
   -- filling glasses looks more honest in Britain
   
   type vessel is
     tagged record
	watermark: up_to := 0.0;
     end record;
   
   procedure refill(v: in out vessel);
   --  might raise EDONTDRINKANDDRIVE under some circumstances

   type glass is new vessel with null record;
   -- it's for humans, otherwise we might want saucers, buckets, troughs.
   -- (Or vats in case of a famous monk.) (Is it true that
   -- beer is served from tubs in some rural Irish pubs?)
   
   procedure fill(cupped: in out glass'class; filled: out boolean);
   --  `cupped` is filled iff `filled = true` on return
   
end drinks;



package body drinks is
   
   generous: constant := 0.9463;
   -- US bar keeper in continental Europe (that's
   -- _more_ than what you might get here, when comparing
   -- liquid level to glass height.)
   
   
   must_drive_home: constant boolean:= false;
   -- an accidential circumstance of life
   
   
   procedure refill(v: in out vessel) is
   begin
      if must_drive_home then
	 raise EDONTDRINKANDDRIVE;
      end if;
      v.watermark := generous;
   end refill;
   
   
   procedure fill (cupped: in out glass'class; filled: out boolean) is
   begin
      refill(cupped);
      filled := true;
   exception
      -- ... 
      when others =>  -- including EDONTDRINKANDDRIVE:
         filled := false;
   end fill;

end drinks;

-- georg



  reply	other threads:[~2002-10-22 14:43 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-10 14:50 Concatenation and Characters Justin Birtwell
2002-10-10 14:55 ` Preben Randhol
2002-10-10 15:04   ` Justin Birtwell
2002-10-10 15:22     ` Preben Randhol
2002-10-10 15:30       ` Justin Birtwell
2002-10-10 16:05         ` Georg Bauhaus
2002-10-10 16:07         ` Preben Randhol
2002-10-10 17:45         ` Robert A Duff
2002-10-10 15:32       ` Justin Birtwell
2002-10-10 15:36         ` Preben Randhol
2002-10-10 16:44         ` Mark Biggar
2002-10-10 17:45           ` Stephen Leake
2002-10-10 21:53             ` Mark Biggar
2002-10-18 17:03           ` Programmer Dude
2002-10-18 18:13             ` Preben Randhol
2002-10-18 18:36             ` Wes Groleau
2002-10-21 15:16               ` Georg Bauhaus
2002-10-18 21:33             ` Mark Biggar
2002-10-20  2:01               ` Dmitry A.Kazakov
2002-10-21 14:13                 ` Wes Groleau
2002-10-21 15:22                   ` Dmitry A. Kazakov
2002-10-21 19:38                     ` Georg Bauhaus
2002-10-22 22:15                       ` Dmitry A.Kazakov
2002-10-22 12:05                         ` Georg Bauhaus
2002-10-22 12:19                           ` Lutz Donnerhacke
2002-10-22 14:43                             ` Georg Bauhaus [this message]
2002-10-23  8:39                           ` Dmitry A. Kazakov
2002-10-23 14:39                             ` Georg Bauhaus
2002-10-24  8:18                               ` Dmitry A. Kazakov
2002-10-21 16:50                   ` Warren W. Gay VE3WWG
2002-10-21 15:20             ` Georg Bauhaus
2002-10-21 17:51               ` Programmer Dude
2002-10-21 18:48                 ` Jim Rogers
2002-10-21 19:44                   ` tmoran
2002-10-21 20:42                   ` Programmer Dude
2002-10-22  1:42                     ` Jeffrey Carter
2002-10-22 14:37                       ` Robert A Duff
2002-10-22 18:51                         ` Jeffrey Carter
2002-10-23  7:01                         ` Pascal Obry
2002-10-22 14:45                       ` Matthew Heaney
2002-10-22 18:47                         ` Jeffrey Carter
2002-10-22 21:31                         ` Robert A Duff
     [not found]                         ` <3DB59D75.20609 <wccd6q29n3l.fsf@shell01.TheWorld.com>
2002-10-23  2:02                           ` Jeffrey Carter
2002-10-23 13:16                             ` Matthew Heaney
2002-10-23 19:11                               ` Jeffrey Carter
2002-10-23 15:24                             ` Robert A Duff
2002-10-23 19:24                               ` Jeffrey Carter
2002-10-24  0:33                                 ` Robert A Duff
2002-10-22  3:46                     ` Jim Rogers
2002-10-22 14:48                       ` Robert A Duff
2002-10-22 15:02                         ` Fraser Wilson
2002-10-22 15:38                           ` David C. Hoos
2002-10-22 15:44                             ` Fraser Wilson
2002-10-22 16:13                         ` Robert A Duff
2002-10-23  8:58                           ` Dmitry A. Kazakov
2002-10-23  9:08                             ` Lutz Donnerhacke
2002-10-23  9:34                               ` Dmitry A. Kazakov
2002-10-23 10:10                                 ` Lutz Donnerhacke
2002-10-23 17:15                                 ` Frank J. Lhota
2002-10-24  8:41                                   ` Dmitry A. Kazakov
2002-10-24  9:25                                   ` Fraser Wilson
2002-10-24 14:13                                     ` Matthew Heaney
     [not found]                         ` <un <wcc7kgazc20.fsf@shell01.TheWorld.com>
2002-10-22 16:46                           ` David C. Hoos
2002-10-22  8:51                   ` Stuart Palin
2002-10-22 18:56                     ` Programmer Dude
2002-10-21 19:42                 ` Georg Bauhaus
  -- strict thread matches above, loose matches on Subject: below --
2002-10-11  5:04 Grein, Christoph
2002-10-11 10:30 ` Preben Randhol
2002-10-23  5:15 Grein, Christoph
2002-10-23 13:19 ` Matthew Heaney
2002-10-24  5:53 Grein, Christoph
2002-10-24 14:04 ` Matthew Heaney
replies disabled

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