Path: utzoo!attcan!uunet!husc6!cs.utexas.edu!ico!nbires!maa From: maa@nbires.nbi.com (Mark Armbrust) Newsgroups: comp.sys.intel Subject: Re: PLM vs. C for 80286/80386 Keywords: PLM C Message-ID: <409@nbires.nbi.com> Date: 8 Jun 89 16:55:08 GMT References: <598@philtis.UUCP> <126@tridom.uucp> Reply-To: maa@nbires.UUCP (Mark Armbrust) Organization: NBI Inc, Boulder CO Lines: 30 In article <126@tridom.uucp> wht@tridom.uucp (Warren Tucker) writes: > >5. PL/M is inherently a strongly typed language. It is >very hard to screw up the number and type of parameters >supplied to a function, etc. This might be a good thing for >what you are trying to accomplish. Passing a variable >number of arguments to some function like printf is nice, >but having the facility all over the language is why >function prototyping and lint were invented. It's been a while since I've used PL/M, so I may not have the syntax quite right, but you can implement variable arguments by passing pointers: call Printf ("format string", @(arg1, arg2, etc)); The biggest thing I missed in PL/M is the pointer op "->". This op is available in PL/1 and I always wondered why it was dropped from PL/M. I wish I had a dime for every time I wrote: temp = dir$ptr; dir$ptr = some$other$ptr; (do something to dir) dir$ptr = temp; -- Mark Armbrust maa@nbires.nbi.com maa@nbires.UUCP