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,29fe9a340e0d180d X-Google-Attributes: gid103376,public From: hbaker@netcom.com (Henry Baker) Subject: Re: Depending on passing mechanism Date: 1997/10/20 Message-ID: #1/1 X-Deja-AN: 281966595 Sender: hbaker@netcom8.netcom.com References: <622b4t$nhe$1@gonzo.sun3.iaf.nl> <62ckao$827@mulga.cs.mu.OZ.AU> Organization: nil Newsgroups: comp.lang.ada Date: 1997-10-20T00:00:00+00:00 List-Id: In article <62ckao$827@mulga.cs.mu.OZ.AU>, fjh@mundook.cs.mu.OZ.AU (Fergus Henderson) wrote: > Well, I'd go for unique modes, rather than unique types. > In addition to "in", "out", and "inout", add > "unique_in", "destructive_in", "unique_out", and "unique_inout", > with semantics similar to the unique modes in Mercury. This points up a 'meta' level problem with Ada83, which wasn't really fixed in Ada95: Ada separated the issues of parameter-passing 'modes' from 'types'. Unfortunately, the author of a private/limited type wants to control the way it is passed and returned, and allowing the user of the type to make this choice is asking for trouble. I seem to recall one of Tucker Taft's early proposals in which a solution to this problem was attempted. Apparently, this proposal got soundly blasted, and it sank without much of a trace. Pity.