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...