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,15bb83df7cabf157 X-Google-Attributes: gid103376,public From: fjh@cs.mu.oz.au (Fergus Henderson) Subject: Re: is there a FAQ? Date: 1998/05/16 Message-ID: <6jl32j$8kh$1@mulga.cs.mu.OZ.AU>#1/1 X-Deja-AN: 353889273 References: <6ji9o8$5t6$1@nnrp1.dejanews.com> Organization: Computer Science, The University of Melbourne Newsgroups: comp.lang.ada Date: 1998-05-16T00:00:00+00:00 List-Id: robertduff@world.std.com (Robert A Duff) writes: >Brian Rogoff wrote: >>Actually, ML is quite strongly typed, and does mapping just as concisely >>as Common Lisp. The distinction is that ML is not *explicitly* typed, like >>Ada; the most general type is inferred and so you don't have to spell >>everything out, or instantiate generic functions. Lots of "researchy" >>languages do this. > >Type inference seems like a nice thing locally, within a single >subroutine, but it seems to me that the interface (to a subroutine, or >package, &c) should be written out explicitly. Yes, I agree. We came to a similar design decision in the design of Mercury. Mercury supports type inference for local variables and for local procedures but requires that types for procedures exported from a module be declared explicitly. -- Fergus Henderson | "I have always known that the pursuit WWW: | of excellence is a lethal habit" PGP: finger fjh@128.250.37.3 | -- the last words of T. S. Garp.