Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sun-barr!olivea!samsung!uakari.primate.wisc.edu!sdd.hp.com!wuarchive!uunet!mcsun!ukc!warwick!nott-cs!piaggio!anw From: anw@maths.nott.ac.uk (Dr A. N. Walker) Newsgroups: comp.lang.misc Subject: Re: type checking problem Message-ID: <1991May24.171645.24408@maths.nott.ac.uk> Date: 24 May 91 17:16:45 GMT References: <1991May16.182932.26327@kodak.kodak.com> <1991May21.144739.23901@maths.nott.ac.uk> Reply-To: anw@maths.nott.ac.uk (Dr A. N. Walker) Organization: Maths Dept., Nott'm Univ., UK. Lines: 27 In article kers@hplb.hpl.hp.com (Chris Dollin) writes: >My God! Did they *seriously* propose to do partial parameterisation by simply >*omitting* the remaining arguments to a call? No extra syntax - like a >place-holder symbol - *at all*? Yup! Just like the partial indexisation [:-)] that was in from the beginning: eg "vector := matrix [ , j]" to copy the "j"th column. In fact, since parentheses are a permitted substitution for brackets in implementations with restricted character sets, the *syntax* (in the traditional sense) is already provided. >The typechecker would spot some silly mistakes, Well, it's not that bad. You have to work quite hard to create a silly mistake that would compile [you can't usually interchange a "procedure with parameter foo returning bar" and a "bar" without the compiler complaining]. The only simple one I can think of is where two adjacent parameters happen to have the same mode and empty and provided parameters are swapped; but that seems less likely to happen than swapping two parameters anyway, which can be a pig to debug in *any* programming language. -- Andy Walker, Maths Dept., Nott'm Univ., UK. anw@maths.nott.ac.uk