From: tmoran@acm.org
Subject: Re: 'withing' problem
Date: Wed, 07 Nov 2001 18:59:38 GMT
Date: 2001-11-07T18:59:38+00:00 [thread overview]
Message-ID: <uwfG7.2665$Vf4.1461632@news1.rdc1.sfba.home.com> (raw)
In-Reply-To: 3be907bc$0$233$ed9e5944@reading.news.pipex.net
> The implementation of 'print' would call 'toString(x)' and output the result.
I thought toString might be intended for that, but then I'd expect it to
return a fixed type like String, not some extendable (ie, variable) type "seq".
> Correct. But the declaration of 'toString' needs to be in the package for
> 'anything', so the package for 'anything' needs to 'with' the package for
> 'seq', and vice versa.
> > function toString(x:anything'class) return seq;
If toString takes "anything'class", then it's not a primitive of "anything"
and needn't be declared in the same package as "anything". In particular,
"toString" and "seq" can be declared together in a package that with's
the package that declares "anything".
package Root_Of_All is
type anything is tagged null record;
...
end Root_Of_All;
with Root_Of_All;
package Debugging_Help is
type seq is new anything with record
...
end record;
function toString(x:Root_Of_All.anything'class) return seq;
-- yields "unprintable object" as seq
-- Should be overloaded for printable objects
...
end Debugging_Help;
with Root_Of_All, Debugging_Help;
package Something is
type heir is new ... --- descendent of "anything"
function toString(x:heir'class) return seq;
-- seq is suitable for printing for debugging or whatever
...
next prev parent reply other threads:[~2001-11-07 18:59 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
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 [this message]
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