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-12 16:24:02 PST Path: supernews.google.com!sn-xit-03!supernews.com!logbridge.uoregon.edu!dispose.news.demon.net!demon!grolier!club-internet!not-for-mail From: Laurent Guerby Newsgroups: comp.lang.ada Subject: Re: newbie can't get exceptions to work! Date: 13 Apr 2001 01:23:43 +0200 Organization: Club-Internet (France) Message-ID: <86d7ahpurk.fsf@acm.org> References: <9ao1if$cq9$1@taliesin.netcom.net.uk> <3ACFC902.115624A1@mindspring.com> <86u23yszjo.fsf@acm.org> <86wv8sfwec.fsf@acm.org> <86puej8gbu.fsf@acm.org> NNTP-Posting-Host: nas15-27.vlt.club-internet.fr X-Trace: front4m.grolier.fr 987117416 21438 195.36.165.27 (12 Apr 2001 23:16:56 GMT) NNTP-Posting-Date: 12 Apr 2001 23:16:56 GMT X-Newsreader: Gnus v5.7/Emacs 20.5 Xref: supernews.google.com comp.lang.ada:6844 Date: 2001-04-12T23:16:56+00:00 List-Id: Brian Rogoff writes: > 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'm not super-versed in those things (I've read a whole bunch of papers and FP conference proeedings over the years but never implemented anything), but as I see it, raw labeled arguments are a near syntactic feature. Let's say you have: f x y = x + y Then either you don't use labels z = f 2 3 or you use them for all args z = f (y => 3, x => 2) The compiler finds out the special => syntax, looks up for a matching function name and labels, and then just reorders according to declaration z = f 3 2 And you're back to the regular thing (you need to be a bit smart in your match to handle currying, but you can drop that if it's too much of a problem). If the labeled syntax can be recognized without too much fuss, it won't interfere at all with the regular type analysis since it will be separate prior pass. > Which idiotic platforms? All commercial UNIXes (AIX, IRIX, Solaris, OSF1) and VMS, plus NT, all with threading correctly supported. > 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 didn't tell you the major thing ;-), namely that most of the team writing the software are not trained software engineers but financial and numerical people. C/C++ is just suicide in this environment (no array bound checking, pointers all over the place, awful error messages and brain-dead syntax...). I spent one whole year of my life chasing out of bound access, memory management errors and random hard to find crashes in a >500KSLOC of C software with crapping debugging technology (Visual C++ released compiled software bugs usually go away when you compile in debug mode, I still don't know how people tolerate this...), I think this qualifies me for having an opinion on the topic ;-). As for the strong push for C++, that was everyone but two people, but management did trust us and choosed Ada after three monthes of reflexion. Now the C++ people are all saying C++ is legacy and doing Java, and Java people are right now wondering about C#... Needless to say their technology opinion is now 0 weighted as far as my management is concerned. The software survived one merger, introduction of distributed computations, growth of the team and is greatly satisfying to business. But even if written in Ada, the code keeps FP-like technique like being stateless, having non mutable objects and provably not leaking reference counting GC scheme (no cycles can be created with non mutable objects). > I trust the support has been good? Ups and downs, but our bugs do get fixed, our technical questions about use of the technology get excellent and timely answer, and the GNAT technology is definitely evolving in the right direction over the years (new tools, new platforms). Talking about support in the software tool business is kinda tricky, for example I know about no other tools used here where users get fixes from the vendor at all except at the mandatory update to new versions. Aren't you worried about lack of formal support for OCaml in your company? -- Laurent Guerby