From: "Matthew Heaney" <mheaney@on2.com>
Subject: Re: 'withing' problem
Date: Fri, 9 Nov 2001 15:28:48 -0500
Date: 2001-11-09T15:28:48-05:00 [thread overview]
Message-ID: <tuoetohbaump12@corp.supernews.com> (raw)
In-Reply-To: 3be65f4c$0$237$ed9e5944@reading.news.pipex.net
"David Crocker" <dcrocker@imsltd.com> wrote in message
news:3be65f4c$0$237$ed9e5944@reading.news.pipex.net...
> OK, so if you think cross-dependency reflects bad design when the
> implementation language is Ada, can you tell me how you would redesign the
> Doctor/Patent/Insurer example in
> http://home.bluemarble.net/~jvolan/WithingProblem/FAQ.html ?
There is no withing problem. One possible solution appears below.
John is confused, and I recommend you disregard his paper.
Use gnatchop to extract the sources below.
--STX
with Patients; use Patients;
package body Doctors is
procedure Treat_Patient
(Doctor : in out Doctor_Type;
Patient : in out Root_Patient'Class) is
P : Patient_Type'Class renames Patient_Type'Class (Patient);
begin
null;
end;
procedure Bill_Patient
(Doctor : in out Doctor_Type;
Patient : in out Root_Patient'Class) is
P : Patient_Type'Class renames Patient_Type'Class (Patient);
begin
Pay_Doctor (P, Doctor);
end;
end Doctors;
with Patients_Forward; use Patients_Forward;
package Doctors is
type Doctor_Type is tagged limited null record;
procedure Treat_Patient
(Doctor : in out Doctor_Type;
Patient : in out Root_Patient'Class);
procedure Bill_Patient
(Doctor : in out Doctor_Type;
Patient : in out Root_Patient'Class);
end;
with Doctors; use Doctors;
package body Patients is
procedure Visit_Doctor
(Patient : in out Patient_Type;
Doctor : in out Doctor_Type) is
begin
Treat_Patient (Doctor, P);
end;
procedure Pay_Doctor
(Patient : in out Patient_Type;
Doctor : in out Doctor_Type) is
begin
null;
end;
end Patients;
with Patients_Forward; use Patients_Forward;
with Doctors; use Doctors;
package Patients is
type Patient_Type is new Root_Patient with null record;
procedure Visit_Doctor
(Patient : in out Patient_Type;
Doctor : in out Doctor_Type);
procedure Pay_Doctor
(Patient : in out Patient_Type;
Doctor : in out Doctor_Type);
end;
package Patients_Forward is
type Root_Patient is abstract tagged limited null record;
end;
next prev parent reply other threads:[~2001-11-09 20:28 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-02 10:24 'withing' problem David Crocker
2001-11-02 10:58 ` David C. Hoos, Sr.
2001-11-02 21:32 ` Florian Weimer
2001-11-02 14:49 ` Robert Dewar
2001-11-05 9:49 ` David Crocker
2001-11-02 15:06 ` Wes Groleau
2001-11-02 15:21 ` Ted Dennison
2001-11-02 17:19 ` Ed Falis
2001-11-02 18:17 ` Preben Randhol
2001-11-02 19:15 ` Ed Falis
2001-11-03 2:52 ` DuckE
2001-11-03 9:50 ` Preben Randhol
2001-11-03 8:25 ` Simon Wright
2001-11-03 17:27 ` Richard Riehle
2001-11-04 10:23 ` Simon Wright
2001-11-08 10:58 ` Preben Randhol
2001-11-08 15:24 ` Peter Hend�n
2001-11-10 17:57 ` Simon Wright
2001-11-05 9:48 ` David Crocker
2001-11-05 20:36 ` Ted Dennison
2001-11-06 15:56 ` David Crocker
2001-11-07 15:06 ` Ted Dennison
2001-11-07 16:49 ` Darren New
2001-11-09 20:28 ` Matthew Heaney [this message]
2001-11-10 13:55 ` Preben Randhol
2001-11-12 15:10 ` Matthew Heaney
2001-11-10 18:12 ` Simon Wright
2001-11-12 15:13 ` Matthew Heaney
2001-11-13 7:01 ` Simon Wright
2001-11-14 16:10 ` Matthew Heaney
2001-11-15 20:21 ` Simon Wright
2001-11-15 21:07 ` Matthew Heaney
2001-11-16 14:37 ` Stephen Leake
2001-11-17 22:29 ` Richard Riehle
2001-11-18 14:53 ` Simon Wright
2001-11-19 5:51 ` Simon Wright
2001-11-19 15:23 ` Matthew Heaney
2001-11-19 17:19 ` 'withing' problem [code generation] Mark Johnson
2001-11-19 20:58 ` Stephen Leake
2001-11-19 21:20 ` Matthew Heaney
2001-11-21 6:20 ` Simon Wright
2001-11-20 0:50 ` Mark Biggar
2001-11-21 6:21 ` Simon Wright
2001-11-20 14:42 ` Mark Johnson
2001-11-20 16:34 ` David Crocker
2001-11-20 18:34 ` Richard Pinkall-Pollei
2001-11-20 18:43 ` Matthew Heaney
2001-11-20 20:37 ` Mark Lundquist
2001-11-22 11:49 ` David Crocker
2001-11-20 20:35 ` Mark Lundquist
2001-11-22 11:42 ` David Crocker
2001-11-19 19:30 ` 'withing' problem Preben Randhol
2001-11-03 8:26 ` Simon Wright
2001-11-03 8:38 ` Simon Wright
2001-11-05 9:54 ` David Crocker
2001-11-05 18:04 ` tmoran
2001-11-06 15:29 ` David Crocker
2001-11-07 0:38 ` tmoran
2001-11-07 10:11 ` David Crocker
2001-11-07 18:59 ` tmoran
2001-11-08 11:38 ` David Crocker
2001-11-10 18:03 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox