From: Victor Porton <porton@narod.ru>
Subject: A good program that not compile
Date: Wed, 21 May 2014 16:05:10 +0300
Date: 2014-05-21T16:05:10+03:00 [thread overview]
Message-ID: <lli8a9$9g5$1@speranza.aioe.org> (raw)
The following does not compile.
Nevertheless it is a logical code and it or it variant should be compilable
in a good programming language. I humbly ask: may we make it compilable in
the next version of Ada?
-- my.ads
with Ada.Finalization;
package My is
type Abstract_Handle is new Ada.Finalization.Limited_Controlled with
record
Handle: Integer;
end record;
function Obtain_Handle(Object: Abstract_Handle) return Integer is abstract;
overriding procedure Initialize(Object: in out Abstract_Handle);
type File_Handle is new Abstract_Handle with null record;
overriding procedure Obtain_Handle(Object: in out File_Handle);
end My;
-- my.adb
package body My is
overriding procedure Initialize(Object: in out Abstract_Handle) is
begin
Object.Handle := Obtain_Handle(Object);
end;
overriding function Obtain_Handle(Object: in out File_Handle) return Integer is
begin
return 123; -- Suppose 123 is a file handle, for an example
end;
end My;
--
Victor Porton - http://portonvictor.org
next reply other threads:[~2014-05-21 13:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-21 13:05 Victor Porton [this message]
2014-05-21 13:49 ` A good program that not compile Simon Wright
2014-05-21 14:10 ` Victor Porton
2014-05-21 14:24 ` Victor Porton
2014-05-21 15:58 ` 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