Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!seismo!mcvax!ukc!dcl-cs!bath63!pes From: pes@bath63.UUCP Newsgroups: comp.sys.atari.st Subject: Lattice C vers 3.04 Message-ID: <1175@bath63.ux63.bath.ac.uk> Date: Tue, 19-May-87 12:30:34 EDT Article-I.D.: bath63.1175 Posted: Tue May 19 12:30:34 1987 Date-Received: Thu, 21-May-87 06:19:27 EDT Reply-To: pes@ux63.bath.ac.uk (Paul Smee) Distribution: world Organization: AUCC c/o University of Bath Lines: 66 Just picked up my Lattice C upgrade from MetaComCo. It's now called 'Lattice C Development System'. Price for upgrade was 34.50 (pounds) -- probably means 40 dollars more or less. I confess not to having loaded it up yet, but have had a bash thru the manual. A quick summary of differences noted so far: Manual is about 3 times as thick as the old one. 3 disks rather than 2. New feature of the language: 'void' type for functions. 'enum' keyword for defining enumerated data types. (Is this ANSI, or something? Pascal programmers on the standards committee?) Structures or unions of identical type may be copied by assignment. Aggregate arguments to functions may be passed by value. Functions may return aggregates (structure or union). And (I like it) external function declarations may include a specification of the arg types they expect. This will be checked against uses of the function. (e.g. extern void fprintf (FILE *, char *, ); (which will check the first 2 args and leave you on your own for the rest). A symbolic debugger is included, which from the docs looks not too bad. It includes a 'link into memory' facility (driven by commands, or from the same file you feed the linker) which means you can eliminate the explicit 'link' stage while debugging. This 'link' is said to be faster than the 'create a standalone module' LINKER -- which is still there for post-debug use. The editor is much-the-same editor, except that it claims to do multiple windowing -- and has mouse support. I'll probably stick to EMACS. UTIL.TTP (could anyone make that work) has been replaced by a small set of standalone programs to perform the various functions. The 'included' resource editor is in fact K-Resource, which they have bought or licensed depending which MetaComCo employee you believe. They seem to have cleaned up the manual a bit. The function library has grown incredibly. I didn't count, their ad says something like 'over 320'. These are identified as belonging to one of 6 classes, so you can pick according to your portability requirements. Classes are: ANSI -- (in proposed standard) UNIX -- defined in ATT System V XENIX -- defined in Microsoft's XENIX LATTICE -- 'Available on any system for which Lattice provide a C' GEMDOS -- Like LATTICE, except restricted to systems under GEMDOS METACOMCO - 'Well, sort of what you see is what you get' Appears to include system calls, date/time handling, wide range of file handling, including 'hierarchy maintenance', e.g. chmod and stuff. Also an expanded GEM library, which appears to the naive punter (i.e. me) to have been expanded to include the GEM calls which have been missing from GEM but are provided by GDOS. On the other hand, still no b***y ACCSTART for making desk accessories. (However, they have included the sources for STARTUP. Might be possible to get somewhere with that.) Oh, almost forgot, also MAKE and TOUCH variants. (I tend to ignore them since I doubt their value on a system without a hard disk -- like mine.) And, an AUTO folder date/time setter -- yet again. I'll do another blurb after I've played with it a bit.