Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site pur-ee.UUCP Path: utzoo!linus!philabs!seismo!harpo!eagle!mhuxl!ihnp4!inuxc!pur-ee!iuvax!cjl From: cjl@iuvax.UUCP Newsgroups: net.lang Subject: Re: Strong Typing and Ignorance - (nf) Message-ID: <1290@pur-ee.UUCP> Date: Tue, 3-Jan-84 03:38:24 EST Article-I.D.: pur-ee.1290 Posted: Tue Jan 3 03:38:24 1984 Date-Received: Fri, 6-Jan-84 01:29:19 EST Sender: notes@pur-ee.UUCP Organization: Electrical Engineering Department , Purdue University Lines: 27 #R:utcsrgv:-289200:iuvax:11800007:000:1122 iuvax!cjl Jan 2 22:37:00 1984 I am against Tim Moroney's definition on "strong typing" which can also be found in p.38 od Horowitz's "Fundamentals of Programming Languages". Expressions consist of operators and operands which are just syntactic sugar of functions. It is neither consistent nor practical to leave out procedure argument mismatch checking in a strongly typed language. Most recent textbooks define a strongly typed language to allow complete, statical type checking, e.g. p90 in Ghezzi's "Prog. Lang. Concepts", p129 in MacLennan's "Principles of Programming Languages", p184 in Ledgard's "The Programming Language Landscape". The ambiguity lies on the COMPLETENESS. Generally it should exclude (1) type-ambiguity of expression which can be found in (a) conditional expression in C, (b) record variant in Pascal,(In ISO Pascal, subrange is treated as range constraint not a new type) (c) COMMON and EQUIVALENT in FORTRAN, (2) untyped pointers (in PL/I) and dangerous pointer operation (in C), (3) assignment incompatibility (which includes procedure parameter checking). C.J.L. , IUPUI cjl@Indiana@Rand-Relay