[fa.info-mac] INFO-MAC Digest V2 #45

info-mac@uw-beaver (05/14/85)

From: Moderator John Mark Agosta <INFO-MAC-REQUEST@SUMEX-AIM.ARPA>


INFO-MAC Digest          Tuesday, 14 May 1985      Volume 2 : Issue 45

Today's Topics:
                   Macintosh-VMEbus Interface Manuals
             [from net.sources.mac]  keyboard remap program
                      New Finder Hints & Shortcuts
                        troubles with new finder?
                                ExperLisp
                    Educational Prices on ExperStuff
                             MacBCPL review
                            NEON and MacApp?


----------------------------------------------------------------------

Date: 06 may 85 10:09-GVA
From: Bruce Taylor <BGT$WB@GEN.BITNET>
Subject: Macintosh-VMEbus Interface Manuals


I can now supply a limited number of User Manuals for the MacVEE 
Macintosh-VMEbus interface described in Issue 34 of INFO-MAC.

The 37-page manual describes the interface at a level low enough for 
VMEbus applications to be programmed in any of the Mac's resident 
languages.  It is available to professional researchers active in 
VMEbus applications and interested in using Macintosh as a system 
controller.

To request a copy of the manual, send your (steam) mailing address to 
<BGT$WB@GEN.BITNET> or write to B.G. Taylor, EP Division, CERN, 1211 
Geneva 23, Switzerland.

             Bruce Taylor

------------------------------

Date: Mon, 13 May 85 02:21:46 cdt
From: werner@ut-ngp.ARPA (Werner Uhrig)
Subject: [from net.sources.mac]  keyboard remap program

From jimb@amdcad.UUCP Tue May 7 01:50:23 1985 From: jimb@amdcad.UUCP
(Jim Budler) Newsgroups: net.sources.mac Subject: keyboard remap
program

In response to a query on net.micro.mac heres a program which remaps 
the keyboard to allow entering normally non enterable characters.  Run
it, then enter the character combination you want to use, click
'Change It' then mouse select the character you desire, then click
"Change It" or "Change It and Repeat" The remap is supposed to be good
thru reboot for applications without their own internal fonts (i.e.not
MacTerminal).

[ You may find this file in REMAP.HQX -jma ]
--
 Jim Budler
 Advanced Micro Devices, Inc.
 (408) 749-5806
 UUCPnet: {ucbvax,decwrl,ihnp4,allegra,intelca}!amdcad!jimb
 Compuserve:  72415,1200

"... Don't sue me, I'm just the piano player!...."

------------------------------

Date: Mon 13 May 85 14:15:01-MDT
From: Tony Jacobs <T-JACOBS@UTAH-20.ARPA>
Subject: New Finder Hints & Shortcuts

The new (4.1) finder has a few nice features that I believe didn't
exist on the old version.

- You can set the START UP application on other disks besides the
start up disk.
- You can make the MiniFinder the Start Up Application which will boot
in 10   seconds!
- You can select documents with the MiniFinder.
- You can also create a MiniFinder document on other disks besides the
starter.
- When comming back to the Finder from an application you can execute
a  cmd-shft-1 (or 2) and it will eject the disk and not update the
desktop with
   its information.
- I attached a command key to the Shut Down menu item and I can return
from an application and do the command key sequence just after the menu
shows up and it will shut down before it reads the disk directories.
- You can put a disk in the garbage and it will eject it and remove
its window   and Icon. Not the start up disk of course.
- The finder does do cleanup operations on the Desktop file.  I've had
some   disks that it cranked on for a minute or so before it did the
copy.
- It does 'Clean Up' faster and it cleans up the elevator bars by
itself.
- The Print Catalog feature prints in the same format that the window
is in,    i.e. In Icons or in Text.  Only it will use the whole sheet of
paper and it    does a header and page numbers.

There are undoubtly others.  It would really be nice if the guys at
Apple would put out a little blurb on each of the new items explaining
the changes and new features.

How about it Apple?

Tony Jacobs

------------------------------

Subject: troubles with new finder?
Date: 13 May 85 17:43:43 EDT (Mon)
From: zim@mitre.ARPA

I've had a few troubles with the new system (finder 4.1, etc.
upgrades) and thought I'd ask if anybody else has noticed anything
similar:

1) default font change--after running SARGON III, on a disk upgraded
with the new finder/system stuff, the default font used by the desktop
windows turns into New York, not as readable as the Geneva that it
starts out as...wonder why?  That new default seems to persist even as
I change startup disks; 2) unable to install Cairo or Taliesin Fonts
... in a newly-created MacWrite disk, I get errors when running the
new DA/Font Mover and attempting to install the above fonts (or
others, if I ask for too many at one time, seemingly) ... the symptom
is a "Bad Error" message in the DA/Font Mover, ID something like
"1,-4", with a button that forces me back to the Finder ... This is
MacWrite 4.5; upon entering it after these errors, Cairo and Taliesin
show up on the Fonts menu, but aren't really there except in name (I
cut them out again using Rmover to get rid of them in menu).... RMover
can be used to install Taliesin; 3) troubles with EXTRAS (v.1.5) desk
accessory ... maybe it's just sensitive to slip-ups ... when I have
EXTRAS windows (like Free Memory) open, and move from one prog to
another, I get bizarre crashes/lockups.... and I've had other strange
occurrences while working on a disk with EXTRAS installed; 4) troubles
with disk drives grinding on interminably ... seemingly cured by
ejecting and re-inserting disk in other drive.
 -zim@mitre

------------------------------

From: meltsner@mit-charon.ARPA (Ken Meltsner)
Date: 13 May 1985 1701-EDT (Monday)
Subject: ExperLisp


I got a review copy of it (review as in send us money if you like it,
not a freebie) today.

First Impressions:

1) This has some incredible potential.  One sample program hooks into 
the editor window, adds a menu to ExperLisp system, and implements a 
search function.  The environment bears an uncanny resemblence to a 
budget version of a LISP machine.

2) Common LISP claims notwithstanding, it appears to lack function 
cells (a win, even if it is non-standard) and embedded lambdas (a 
loss).

3) Lots of things that are reasonable are promised for Version 2.  
Most of the reasonable things, in fact.  These include: user-defined 
classes, "snapshot" (worlds capability) of memory to create 
double-clickable applications, MacApp for Experlisp (in December), 
true lexical scoping, and a few others.  Upgrades should be at cost.


4) Toolbox support is there -- buy an Inside Mac -- as are direct 
memory access and such.  There are predefined objects for toolbox 
stuff, as well as the spiffy bunny graphics of ExperLogo.

5) Speed seems better than ExperLogo: three bunnies (1 flat, 1 3-d, 1 
on a sphere) draw a dragon curve simultaneously.  Compile speed also 
seems better.

6) Pretty lousy manual and support -- reference guide (complete, but 
listed by function name rather than concept), David Touretzky's LISP 
book (good, with ExperLISP glue functions to more closely match the 
book's example), and a couple of good, but not great programs.

Overall First Impression: good if you like LISP, useless if not.  
Unfinished, but fairly promising.  (The manual mentions support for 4 
MB of memory!)

May be reasonable at the 50% educational discount as a teaching LISP.
Eventually, could be a reasonable language for small AI stuff.  Not a
complete product, yet.  (But then, I don't think Microsoft Basic is
100%, either.)

                        Ken

------------------------------

Date: Mon, 13 May 85 17:53:50 EDT
From: winkler@harvard.ARPA (Dan Winkler)
Subject: Educational Prices on ExperStuff


ExperLisp and ExperLogo are reportedly very nice products but a bit
expensive.  Here are the price breaks for educational use, according
to what they sent me today:

ExperLisp:
           retail price: $495.00
           educational price: $225.00 per unit for 1 to 9 units
                              $198.00 per unit for 10 or more units

ExperLogo:
           retail price: $149.95
           educational price: $59.95 per unit for 1 to 9 units
                              $49.95 per unit for 10 or more units

(I love the way they choose those prices.  I'm sure everyone mentally 
converts 49.95 to 50, 59.95 to 60, 149.95 to 150, 198.00 to 200, and 
495.00 to 500 anyway, so why not write them like that in the first 
place?)

------------------------------

Date: 2 May 85 09:44:08 EDT
From: Jeffrey Shulman <SHULMAN@RUTGERS.ARPA>
Subject: MacBCPL review


     Here is a review on Topexpress' MacBCPL.  I experimented for 
approximately three weeks with a review copy that Topexpress had sent 
me.  I did my best to stay unbiased.

     I sent Topexpress a copy of the review a month ago for their 
perusal; I also sent them an invitation to respond in regard to 
technical inaccuracies or changes they plan to make.  They did not 
respond.

[ I have just selected a summary of the review to post. Those
interested
  can find the full 20k submission in news-bcpl.txt -jma ]

                    ***********************************
                    * A REVIEW ON TOPEXPRESS' MACBCPL *
                    * by Jeffrey S. Shulman *
                    ***********************************

MacBCPL is a product of:  TOPEXPRESS LIMITED
                          20 Orange Street
                          London WC2H 7ED
                          ENGLAND

                          Telephone: 01144-289 2188
                          (24 hours)


================
- Introduction - 
================

     BCPL (Basic Combined Programming Language) is a small language
for systems programming.  Its syntax is very much like C (or should I
say C is much like BCPL since BCPL preceded C).  BCPL has only two
datatypes:  the storage cell and the vector (a pointer to a list of
storage cells).  With MacBCPL a storage cell is 32-bits long.

     There is no type checking since there really isn't anything to 
check.  Therefore, there is no warning if you mean to use a storage
cell as a pointer but it contains an integer.


================
- What you get - 
================

MacBCPL comes with the following materials:

A) BCPL: the Language and Its Compiler by Martin Richards and Colin
   Whitby-Strevens:

     a 173-page well-written tutorial and reference manual for BCPL;

B) MacBCPL manual:

   The 6x9-inch manual describing the Mac BCPL system.  It has
sixty-one
   single sided line printer set pages and answers most (but not all)
   questions you might have about MacBCPL (more on this later);

C) Two non-protected diskettes:

   The first diskette (293K) contains:

          . bcpl BCPL compiler (78K) version 1.07
          . edit "Standard" Apple program editor
          . link Apple linker
          . disasm Simple disassembler
          . library Folder containing the BCPL library (16K)
          . headers Folder containing the BCPL and Mac Trap
                            header files
          . windows A simple application
          . demos Folder containing the BCPL source to
                            "windows"

   The second diskette (310K) contains:

          . basic A pretty complete BASIC interpreter
          . Basic sources Folder containing the complete sources to
                            "basic"
          . Basic demos Three simple basic demos
          . library Copy of BCPL library folder
          . help Text for built-in help facility


============
- Features - 
============

. Screen output is written to the current Quickdraw port.  If no port
is
  set, one will be created for you covering the entire screen ("glass
  TTY");

. Conditional compilation;

. Constants ("MANIFEST Constants") may be both strings and tables
(con-
  stant vectors).  Tables may contain strings and other tables;

. Field selectors can be used to select pieces of storage cells.
Since
  storage cells are 32-bits, this is necessary for selecting bytes and
  words.  Six functions are also provided for getting and setting
byte,
  word and longword quantities;

. A full set of file, disk and textual I/O functions;

. Assembly language routines (if you have an assembler) can be
included,
  provided you adhere to the (documented) BCPL conventions.


=====================
- Toolbox interface - 
=====================

     I feel the toolbox interfacing is the most important part of any 
language on the Mac.  This is one of the areas I feel MacBCPL could
use improvement.

     Supplied with MacBCPL is a single header file that contains the 
names of the Mac traps and their corresponding trap number.  It also 
contains some additional information used by the compiler to determine
what the sizes of the arguments are and what the size is of any value 
that may be returned.

     What this header file does NOT contain is any of the constants or
record definitions found in Inside Macintosh.

. .  .

     The compiler works in three passes.  The first pass performs the 
syntax analysis and builds a tree structure in memory.  The second
pass builds a intermediate code file called OCODE.  The final pass
generates 68000 code from OCODE.

     If an error occurs during any of these passes, the offending line
number is printed in the BCPL window with a short description of the 
error.  If the error is detected during the first pass, then the 64 
characters preceding the error are printed before the error message 
itself.

     Next you link in your program with the BCPL libraries provided.  
It is easiest to use the item provided in the Transfer menu to create 
the proper .link file.  You have to create your own if there is more 
than one .rel file of yours involved.  At the end of linking, you have
an application ready to be run.

     Topexpress only provides "cookbook" information about the linker.
They tell you that if you want further information, obtain it from 
Apple.

     Neither the resource maker nor the resource editor are provided 
for your use.  You must also obtain these from Apple.


==================
- Other problems -
==================

. Floating point is not supported;

. There is no way to segment your program into separately loadable
pieces;

. BCPL uses its own stack to pass arguments and to contain local
variables.
  Its size is fixed at 8K bytes, therefore programs must not use
dynamic
  VEC declarations to allocate large amounts of space.  MacBCPL
provides
  a getvec and freevec functions which will allocate (and release)
  vectors from the application heap.


===================
- Its good points - 
===================

. I found BCPL fairly easy to learn;

. No royalties are imposed on any programs developed with this system
(just
  an acknowledgement);

. Pieces of the "windows" demo program may be used in your program as
you
  wish;

. In dealing with Topexpress, I received quick and thorough replies to
my
  questions via air mail.

===================
- Recommendations - 
===================

     The BCPL system is $175 (US) dollars.  Since Topexpress provides 
little documentation on the linker, no resource compiler, no
assembler, no Toolbox global addresses, and no debuggers, they must
assume you have the Apple MDS 68000 system (which is $195 dollars.)
This gives you a total development system costing to $370 dollars.  At
this price, there are other development systems available that are
easier to use.

     What I believe would have to be done to make MacBCPL a
competitive system:

        1) Supply header files for everything mentioned in Inside Mac.
           This should include BCPL field selectors for all the Pascal
           records.  Also provide the recommended calling method using
           these selectors;

        2) Fix the compiler so that the programmer doesn't have to
           provide the registers for Toolbox routines that use the
           registers.  There already is a mechanism for telling the
           compiler what stack variables are used in stack routines
           (this mechanism is well documented) which could easily be
           extended to handle these register cases;

        3) Change the compiler file selection so that it works like
the
           other tools (i.e. double clicking the file name causes the
           compile to start);

        4) Either supply an editor that has the ability to go to a
           specific line number or has the ability to enter the editor
           when an error is detected at the location of the error;

        5) Supply full documentation for the linker;

        6) Supply RMaker with full documentation;

        7) Supply an assembler or the ability to assemble inline code;

        8) Supply either a low level debugger or a BCPL debugger (the
book
           on BCPL mentions one on another system).


=========
- BASIC - 
=========

     In all fairness, I must mention that Topexpress does provide you 
with a BASIC interpreter written in BCPL with full sources.  The 
interpreter isn't "Macish" (it uses the Mac as a glass TTY) but it
seems to be fairly complete.

     It has built in TRACE and DEBUG commands as well as an online
help system.

     It seems to have everything a BASIC should have (except floating 
point) but has no Toolbox access.


==============
- Benchmarks - 
==============

     I suppose no review would be complete without benchmarks.

     Both benchmarks were done on a 2 floppy drive 512K Mac (without 
RAMDisk).  The boot disk contained the editor, bcpl compiler and
linker.  The second drive had the source files, header files and bcpl
library files.  Neither program was linked in with the BCPL library
that contains the procedures make.pascal.entry and free.pascal.entry.

     The Sieve benchmark was performed with both byte and full BCPL
word flags.


Program         Compile          Link           Size           Run
====================================================================
Hello World       13              28            7746
Sieve (byte)      21              29            8258           8.28
Sieve (long)      26              30            8258           8.61

------------------------------

Date: 9-May-85 11:59 PDT
From: Kirk Kelley  <KIRK.TYM@OFFICE-2>
Subject: NEON and MacApp?

Apple has announced they will be supplying versions of MacApp for use
with Object Pascal, Objective C, X(?)LISP, and Smalltalk.  Now is
there any reason not to have a FORTH/NEON version too?

 -- kirk

------------------------------

End of INFO-MAC Digest
**********************