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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,79bbf7e359159d0d X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-04-11 19:43:10 PST Path: supernews.google.com!sn-xit-02!supernews.com!news.gv.tsc.tdk.com!newsfeed.berkeley.edu!ucberkeley!logbridge.uoregon.edu!news.maxwell.syr.edu!sjc-peer.news.verio.net!news.verio.net!sea-read.news.verio.net.POSTED!not-for-mail Newsgroups: comp.lang.ada From: Brian Rogoff Subject: Re: newbie can't get exceptions to work! In-Reply-To: <86puej8gbu.fsf@acm.org> Message-ID: References: <9ao1if$cq9$1@taliesin.netcom.net.uk> <3ACFC902.115624A1@mindspring.com> <86u23yszjo.fsf@acm.org> <86wv8sfwec.fsf@acm.org> <86puej8gbu.fsf@acm.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Date: Thu, 12 Apr 2001 02:38:30 GMT NNTP-Posting-Host: 206.184.139.136 X-Complaints-To: abuse@verio.net X-Trace: sea-read.news.verio.net 987043110 206.184.139.136 (Thu, 12 Apr 2001 02:38:30 GMT) NNTP-Posting-Date: Thu, 12 Apr 2001 02:38:30 GMT Organization: Verio Xref: supernews.google.com comp.lang.ada:6800 Date: 2001-04-12T02:38:30+00:00 List-Id: On 11 Apr 2001, Laurent Guerby wrote: > Brian Rogoff writes: > I see label and optional arguments being two separate issue. If you do > only labels, it shouldn't cause any problem at all, you can even > disallow overloading with only label changes while keeping most of the > interesting thing about labels (call site clarity). But even keeping > overloading should be near trivial. > > Optional argument are a whole different beast, and I think much less > useful, and I think likely to cause trouble. > > Is it that the conjunction of both feature is being considered and > hence the problems (my advice would be to just drop optional > arguments), or am I missing something obvious? You should know that nothing is obvious when you're discussing the OCaml type system :-). OK, that's not fair. It is obvious when considered in the context of mathematically sound type systems. If you're not well versed in the theory of such type systems, simple explanations won't be helpful. Check the caml-list for the mail of the past few weeks titled "The Future of Labels" or somesuch. > I agree with you that mandating labels is not a good idea. The likely solution will be that if you use labels in the function definition, you'll need them at the call site. Once again, if you're interested in the why's you'd be better off reading the list, or checking Jacques Garrigue's home page and puzzling through the papers. > > > X : constant T := if C1 then V1 elsif C2 then V2 else V3; > > > > > > This is something I think people miss in Ada, may be someone should > > > wrote an extension proposal ;-). > > > > That would work. OTOH, since Ada is statement oriented rather than > > expression oriented, perhaps a different syntax for conditional > > expressions is warranted? > > I don't buy the statement oriented thing, you can do lots of thing > without statements in Ada (the missing thing is this conditional > feature ;-), and I see no need to invent new syntax here (but well > that's a taste & color issue here ;-). Well, compared to Scheme, or ML, or any functional language Ada is surely statement oriented as opposed to expression oriented. > > Allowing declarations to float is nice. However, if, as I suggested, we > > allow downward funargs (only downward, we don't want to require GC :) > > and anonymous functions, the {} has the advantage that function > > definitions are lightweight enough to be expressed inline more easily. > > If you type arguments, that's not going to be one liners hence the { } > won't buy you much. (I find SmallTalk syntax for blocks quite nice, > but let's say it's really typed ;-). One line functions are not a compelling argument for me anyways, since I rarely ever use one liners. Besides, OCaml has pretty damned strong static type checking and the syntax for one liners is pretty simple (only Haskell is a lot terser). # List.map (fun n -> n * n) [1; 2; 3; 4];; - : int list = [1; 4; 9; 16] > > > And I of course forgot the mandatory () for function calls without > > > args silliness ;-). > > > > A great feature. Some people hate it though. > > I don't know the history, but I'd say it's mostly because of the > statement = expression + fonction = pointer syntax horrors of C that > forces a hack to disambiguate, not because of methodology that argless > func/proc calls must specify (). > > Why are people liking this? > > Only C/C++/Java have inherited this syntax, other languages including > most FP do not have it and that's much better this way (am I missing > something obvious here?). Just a question of (bad ;) taste. Anyways, the argument is that some like to know it is a function call. Incidentally, CLU and it's successor Theta have this syntax too. > > > No, I just program in Ada at home and work ;-) ;-). > > Lucky you! I've switched to OCaml. > > I looked at the FP situation two years ago when we switched languages > at work (from C to Ada 95), but there was no real industrial stuff > available (with formal support and available even for idiotic > proprietary platforms). Which idiotic platforms? > Right now, I think there's Erlang (we write numerical code and even > the Erlang manual says it's not for us ;-) and may be OCaml if out of > the recently announced consortium a real support company pops up. I don't believe such a support compant will pop up. I'll probably represent my company at the Consortium, so I'll tell you if I hear anything. I believe you made the right decision. It was a brave one too, since I bet there was a strong push for C++. Ada would be my choice too, given what you told me. I mentioned Ada to my manager, and I often mention Ada when we discuss language design. He now believes Ada is great, and if it were a choice between Ada and C++ I believe he'd make the right choice. But the competition in our company is with OCaml, and I'm not so sure that for what we do that Ada comes out on top. > As you might have guessed our support comes from ACT Europe and we're > using GNAT. I trust the support has been good? -- Brian