From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,d1df6bc3799debed X-Google-Attributes: gid103376,public From: mheaney@ni.net (Matthew Heaney) Subject: Re: Syntax for tagged record types (was Re: Not intended for use in medical,) Date: 1997/05/21 Message-ID: #1/1 X-Deja-AN: 243006225 Distribution: world References: <3.0.32.19970423164855.00746db8@mail.4dcomm.com> <5kl9qc$g4d@bcrkh13.bnr.ca> <5kmek2$9re@bcrkh13.bnr.ca> <33727FA5.5C7A@sprintmail.com> <3374C19F.15FE@sprintmail.com> <3376CF85.3E15@sprintmail.com> <33828299.2A3@world.std.com> Organization: Estormza Software Newsgroups: comp.lang.ada Date: 1997-05-21T00:00:00+00:00 List-Id: In article , jsa@alexandria (Jon S Anthony) wrote: >That's more or less what Limited_Controlled gives you. You can "pass >parameters" to Initialize via discriminants. You can also play the >"rename the function result" game for limited types (which I think is >actually pretty nice) and that does what you want as well. I think that using discriminants as "constructor arguments" is a real kludge, and obfuscates declarations. Ada 95 doesn't have constructors, so let's not try to fight the language. Here is what I'd like to do: declare The_File : File_Type'Open (Name => "my_file.dat", Mode => In_Mode); begin Renaming a function return as a constant object won't fly, because I have to modify the object. -------------------------------------------------------------------- Matthew Heaney Software Development Consultant (818) 985-1271