History of Macsyma - first draft/ some suggestions.
Subject: History of Macsyma - first draft/ some suggestions.
From: Richard Fateman
Date: Mon, 17 Dec 2001 14:02:13 -0800
C Y wrote:
> I've tried to hunt around and make some kind of sense out of the
> history of Macsyma for the user manual, working largely from Dr.
> Fateman's papers, the odd usenet posting, and some communications from
> Richard Petti. I've included my first draft, and appeal to those who
> where there to point out inaccuraces, omissions, etc. (I know I need
> to include citations - I'll fix that up for the final version.) If
> someone wants to take this as a start and write up a proper history,
> please do - I know this is not very detailed and may be inaccurate in
> some respects.
>
>
> A Brief History of Macsyma
>
> The birthplace of Macsyma, where much of the original coding took
> place, was Project MAC at MIT in the late 1960s and earlier 1970s.
> Project MAC was an MIT research unit,
which was folded into the current Laboratory for Computer Science.
Research support for Macsyma included
the Advanced
> Research Projects Agency(ARPA), Department of Defense, the US
Department of Energy, and other government and private sources.
The original idea, first voiced by Marvin Minsky, was to
automate the kinds of manipulations
done by mathematicians, as a step toward understanding the
power of computers to exhibit a kind of intelligent behavior.
(ref: out of print..
* "MATHSCOPE," Part I: a proposal for a mathematical
manipulation-display system. MIT, ProjectMAC, 1963. Part II was a
program for visual inspection of solutions to first-order non-linear
differential equations, Memo MAC-M-124, AI memo no. 62. Artificial
Intelligence Project and Project MAC, 1963.
)
The
> undertaking grew out of a previous effort at MITRE Corp called Mathlab, work
of Carl Engelman and others, plus
the MIT thesis work of Joel Moses on symbolic integration, and the MIT
thesis
work of William A. Martin.
> The new effort was dubbed Macsyma - Project MAC's SYmbolic MAnipulator.
> (Cite new paper) The original core design was done by W.A. Martin, C.
> Engelman, and J. Moses in July 1968, and coding began in July 1969 with
> significant parts of the system being programmed and designed by
%this list should either be much longer or much shorter.
> W.A. Martin,
P. Loewe, T. Williams, % who?
R. Fateman, E. Tsiang, P. Wang, J.
> Golden and others. This was long before the days of personal computers
> and cheap memory - initial development was centered around
a single computer shared with the Artificial Intelligence laboratory,
a DEC PDP-6. This was replaced by newer more powerful machines over
the years, and eventually the Mathlab group acquired its own
> DEC-PDP-10, MIT-ML running the ITS operating system. This machine
became a host on the early ARPANET, predecessor to the internet,
which helped it gain a
> wider audience. As the effort grew in scope and ability the general
> interest it created lead to attempts to "port" the code - that is, to
> take the series of instructions which had been written for one machine
> and operating system and adapt them to run on another,different system.
the earliest, was the running
> of Macsyma in a MacLisp environment on a GE/Honeywell Multics mainframe, another system
at MIT. The Multics environment provided essentially unlimited address
space, but for various reasons the system was not favored by programmers and
the Multics implementation was never popular.
YOU LEFT OUT THE LISP MACHINE IMPLEMENTATION!!!
During the years ??? a group at MIT designed and implemented a machine
which was based on the notion that hardware support of Lisp would make
it possible to overcome problems that inhibited the solution of
many interesting problems. The Lisp machine clearly had to support Macsyma,
the largest Lisp program of the day, and the effort paid off with probably
the best environment for Macsyma to date (although requiring something
of an expert perspective). Lisp machines, as well as other special
purpose hardware, tended to become slow and expensive compared to
off-the-shelf machines built around merchant-semiconductor CPUs, and
so the two companies that were spun off from MIT (Symbolics Inc, and LMI)
both eventually disappeared. Texas Instruments built a machine called
the Explorer bases on the LMI design, but also stopped production.
>
> Around 1980, the idea of porting Macsyma began to be more interesting,
> and the Unix based vaxima distribution, which ran on a Lisp system built
at the University of California at Berkeley
for VAX UNIX
demonstrated that it was both possible and practical to
> run the software on less expensive systems. (This system, Franz Lisp,
was implemented primarily in Lisp with some parts written in C)
Once the code stabilized,
> the new version opened up porting possibilities, ultimately producing
> at least six variations on the theme which included Macsyma, Maxima,
> Paramax/Paramacs, Punimax, Aljbar, and Vaxima. These have followed
> somewhat different paths, and most were destined to fade into the
> sunset. The two which survived obscurity, Maxima and Macsyma, we will
> discuss below.
>
> There is a certain surprising aspect in this multiplicity of versions
> and platforms, given how the code seemed tied to the development environment,
including a unique operating system
but in fact Berkeley's building a replica of the Maclisp environment on
the MIT-ML
PDP-10 using tools available in almost any UNIX/C environment, helped.
Complicating the matter was the eventual demise of the PDP-10 and
Maclisp systems
as Common Lisp (resembling lisp-machine lisp, influenced by BBN lisp and
researchers at Stanford
Carnegie Mellon University. It seemed sensible to retarget the
code to make it compatible with what eventually became
the ANSI Common Lisp standard. Since almost everything needed for
for Macsyma can be done in ANSI CL, the trend toward standardization
> none the less made many things simpler. There are a few places
where the language is not standardized, in particular connecting to
modules written in other languages, but much of the power of the
system can be expressed within ANSI CL.
It is a trend the Maxima
> project is planning to carry on, to maintain and expand on this
> flexibility which has emerged.
>
> With all these versions, in recent history there are two which have
> been major players, due this time more to economics than to code
> quality. 1982 was a watershed year in many respects for Macsyma - it
> marks clearly the branching of Macsyma into two distinct products, and
> ultimately gave rise to the events which have made Maxima both possible
> and desirable. MIT had decided, with the gradual spread of computers
> throughout the academic world, to put Macsyma on the market
> commercially, using as a marketing partner the firm
of
Arthur D. Little, Inc. This version was sold to the
Symbolics Inc., which, depending on your perspective,
either turned
the project into a significant marketing effort to
help sell their high-priced lisp machines, or was a diversionary
tactic to deny their competitors (LMI) this program. At the same
time MIT forced UC Berkeley (Richard Fateman) to withdraw the
copies from about 50 sites of the VAX/UNIX and VAX/VMS versions
of Macsyma that he had distributed with MIT's consent, until some agreement
could be reached for technology transfer.
Symbolics hired some of the MIT staff to work
> at Symbolics in order to improve the code,which was now proprietary.
Also at that time The MIT-ML PDP-10 also went
> off the Arpanet in 1983. (Interestingly, the closing of the MIT Lisp
> and Macsyma efforts was a key reason Richard Stallman decided to form
> the Free Software Foundation.) Between the high prices, closed source
> code, and neglecting all platforms in favor of Lisp Machines pressure came to
> bear on MIT to release another version to accommodate these needs,
> which they did with some reluctance. The new version was distributed
> via the National Energy Software Center, and called DOE Macsyma. It had
been recoded in a dialect of lisp written for the VAX at MIT
called NIL. There was never a complete implementation. At about the same
time a VAX/UNIX version "VAXIMA" was put into the same library by Berkeley.
This ran on any of hundreds of machines running the Berkeley version of VAX
Unix, and through a UNIX simulator on VMS, on any VAX system.
The DOE versions formed the basis of the subsequent non-Symbolics distributions.
> The code was made available through the National Energy
Software Center, which in its attempt to recoup its costs, charged
a significant fee ($1-2k?). It provided full source, but in a concession
to MIT, did not allow redistribution. This prohibition seems to have
been disregarded, and especially so since NESC disappeared. Perhaps it
didn't recoup its costs!
Among all the new activity
> centered around DOE Macsyma, Prof. William Schelter began maintaining a
> version of the code at UT Austin, calling his variation Maxima. He
refreshed the NESC version with a common-lisp compatible code version.
There were, from the earliest days, other computer algebra systems
including Reduce, CAMAL, Mathlab-68, PM, ALTRAN, and others. More serious
competition however did not arrive until Maple and Mathematica were
released, circa 1988.
>
> These systems were inspired by Macsyma in terms of their capabilities,
> but they proved to be much better at the challenge of building
> mind-share. The commercial Maple and Macsyma vendors were slow to react
to the flashy front end of Mathematica, but eventually reached what
appeared to be a techical equivalence in display, plotting, menus, etc).
. DOE-Macsyma, because of the nature of its users and
> maintainers, never responded to this challenge.
Symbolics, and its successor Macsyma Inc, having lost market share and
unable to meet its
expenses, was sold
in the summer of 1999. The purchaser withdrew Macsyma from the market and the developers
and maintainers of that system dispersed.
.
Mathematica and Maple appeared to have
> vanquished Macsyma.
>
> It was at this point Maxima re-entered the game. Although it was not
> widely known in the general academic public, W. Schelter had been
> maintaining and extending his copy of the code ever since 1982. He had
> decided to see what he could do about distributing it more widely. He
> attempted to contact the NESC to request permission to distribute
> derivative works. The duties of the NESC had been assumed in 1991 by
> the Energy Science and Technology Software Center, which granted him
> virtually unlimited license to make and distribute derivative works,
> with some minor export related caveats.
>
While Schelter's code had been available for downloading for
years, this activity became legal with
the release from DOE granted in Oct. 1998. When the Macsyma
> company abruptly vanished in 1999, with no warning or
> explanation, it left their customer base hanging. They began looking
> for a solution, and some drifted toward Maxima.
> Dr. Schelter maintained the Maxima system until his untimely death in
> July, 2001. It was a hard and unexpected blow, but Schelter's obtaining
> the go ahead to release the source code saved the project and possibly
> even the Macsyma system itself. A group of users and developers who had
> been brought together by the email list for Maxima decided to try and
> form a working open source project around the Maxima system, rather
> than let it fade - which is where we are today.
>
> __________________________________________________
> Do You Yahoo!?
> Check out Yahoo! Shopping and Yahoo! Auctions for all of
> your unique holiday gifts! Buy at http://shopping.yahoo.com
> or bid at http://auctions.yahoo.com
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>