[fa.info-mac] Report on Manx C

info-mac@uw-beaver (info-mac) (09/26/84)

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

info-mac@uw-beaver (info-mac) (09/26/84)

From: Waiming Mok <WMM@ACC>
I called Manx several weeks ago.  *IF* I recalled it right,
make, grep, etc. are not part of the development package, the $500 one.
They are part of the Tool kit, which costs another $150.
By the way, does the XLISP.dl works without the Manx shell environment.
I tried transferring it to the mac and it didn't work.
Waiming Mok (wmm@ACC)
------

info-mac@uw-beaver (info-mac) (09/28/84)

From: winkler@harvard.ARPA (Dan Winkler)
Yes, xlisp does work without the Manx shell.  Manx supplies several
versions of "croot", which is the function that gets called before
main.  There is one version for programs that are meant to be called
from the Manx shell and that might be passed argc and argv.  There is
another version for stand alone Mac applications that will be called
from the finder and that will not use the C stdio library.  And there
is a third version that allows programs such as xlisp to be called from
the finder but to use the C stdio library.

It's quite a surprise the first time you launch a program like xlisp
from the finder.  The menu bar disappears.  The mouse doesn't do
anything.  There are no windows or icons.  QuickDraw lies idle except
for drawing one monospaced, plain style, single size font.  Your
innovative, user-friendly, graphics machine gets transformed into an
old fashioned, Unix-pdp11-style, ascii only computer.  Steve Jobs would
be horrified.

But it points out an important fact about the Mac's capabilities: they
are a superset of those of older machines.  If you don't want to use
the mouse or icons or windows, you don't have to; you can just boot a
different disk and get a Unix interface instead.  (Although, as Mark
Lentczner remarked, if you do decide to use the Mac ROM, you are
constrained to using it only in the way Apple meant it to be used.)