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