Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 UW 5/3/83; site uw-beaver Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!houxm!vax135!cornell!uw-beaver!info-mac From: info-mac@uw-beaver (info-mac) Newsgroups: fa.info-mac Subject: Report on Manx C Message-ID: <1788@uw-beaver> Date: Wed, 26-Sep-84 15:31:06 EDT Article-I.D.: uw-beave.1788 Posted: Wed Sep 26 15:31:06 1984 Date-Received: Thu, 4-Oct-84 02:20:47 EDT Sender: root@uw-beave Organization: U of Washington Computer Science Lines: 54 From: winkler@harvard.ARPA (Dan Winkler) Tomorrow, Manx Software Systems will release their native C development system for the Macintosh, which we have been beta testing at Harvard for the last few months. It is a real Unix interface with no mouse, no menus, no icons, and no windows. Instead it has very convincing imitations of the shell, vi, cc, and a hierarchical file system. The shell offers such familiar commands as cd, ls, cp, mv, rm, and others. You can even write shell scripts that loop through their arguments. Their vi (which they call z) is very well done. It has just about every feature of vi I've ever used, including the ability to edit multiple files. Their file system is built on the Mac file system by using long file names with slashes in them. This is the same trick the Lisa workshop uses, but Manx does a much better job with it. Commands such as cd ../bin work fine and the shell, compiler, and linker all have search paths. It really makes you think you have a Unix file system. Their cc supports the complete stdio library as well as the entire Macintosh ROM. This makes it very easy to run programs that were originally meant for Unix. As an example, I'll be posting an executable version of xlisp in the next letter. The Manx compiler compiles the entire xlisp source in about 12 minutes and the linker links it in about 2 minutes. The compiler has the advantage over Sumacc that it supports overlays. The system comes with a stripped down system file but still has only about 2K free on the startup disk. So you need an external drive to use it. (It will run with a single drive, but you'll be swapping disks constantly.) We have seen rapid evolution in the system in the successive test releases. Manx says they will continue the improvements and will give them away free to people for six months after they have bought the system. Improvements that are expected include an optimizer and a resource editor. They also have their own versions of make, lint, grep, etc. which were not part of the beta version but which will be included either in the release version or as an update. Porting Sumacc code is no easy task because of slight differences in the languages. In Manx, pointers and ints are not the same size so you cannot pass 0 as a null pointer (you need 0L). Also, strings are not automatically converted from null terminated to counted during ROM calls (you have to call a macro to do the conversion). And you cannot pass just anything nonzero for TRUE, only 0x100 will work. There must also be other differences because I have not been able to get my Sumacc programs to run yet. But Manx has agreed to make a list of differences that should make it routine to port code from Sumacc. Xlisp follows in the next letter...