Other noteworthy aspects of Squeak include
What it is not
The Squeak Smalltalk system bears no relation to the "Squeak" language designed by
Rob Pike and Luca Cardelli in 1985, nor to its successor, "Newsqueak".
Squeak Tutorials
Please try John Maloney's
BankAccount tutorial.
It starts at the very beginning, and takes
you through defining a class and writing some methods.
John Maloney's Morphic tutorial is a great introduction to working with the Morphic graphic system.
If you know how to program, but don't know Squeak or Smalltalk, try Chris Phoenix's tutorial.
Wolfgang Kreutzer at the University of Canterbury, New Zealand, has a good tutorial for the Squeak beginner.
Squeak stands alone as a practical Smalltalk in which a researcher,
professor, or motivated student can examine source code for every part
of the system, including graphics primitives and the virtual machine itself.
One can make changes immediately and without needing to see or deal with
any language other than Smalltalk. Squeak runs bit-identical images across
its entire portability base, greatly facilitating collaboration in diverse
environments. The system, together with an adherance, for better or for worse, to the
image model (the entire state of Squeak is manifest in an image file),
has yielded a system of extreme portability and sharability. Any image
file will run on any interpreter even if it was saved on completely different
hardware, with a completely different OS (or no OS at all!).
The portability and sharability of Squeak, together with its malleability
(since it is all in Smalltalk, a competent Smalltalker can change anything
about it), has given rise to a lot of interest in the academic community,
and what one might call the "independent" computer science community. By
this phrase we mean to include people who are not so interested in one
language over another, or one OS over another, but who have their own
particular passion (numerical analysis, graphics, distributed computing,
music synthesis, O-O education, etc) and who want a system that can provide
the most flexible and immediate command over experiments in their field of
interest.
The core development team is resident at Disney. Other organizations with
significant Squeak interest include The Create project at UCSB, UIUC,
Georgia Tech, INRIA in France, and the Univ. of Magdeburg.
The main vehicles for interaction among this community are the Squeak Mailing
List, the Squeak Wiki Servers, and the Squeak Archives.
You must be on the Squeak email list to send mail to the list. To get on, send a message
to
Subscription requests for the announcement list should be sent to
Both mailing lists are being archived here at UIUC.
We are greatly indebted to Ralph Johnson and Computer Science Department at
UIUC for their willingness to support the Squeak mailing lists and file archives.
An exciting new dimension has recently been added to the Squeak community with
Ward Cunningham's Wiki server concept,
and its various implementations. A Wiki server
is quick to implement (in fact Wiki-Wiki means quick in Hawaian Creole):
A Wiki server serves
pages just like any other server, except that anyone (even you) can also change
them and create new ones. There are no security or synchronization checks. If
something goes wrong you fix it back again; if everything goes wrong, someone
restores the last saved copy.
Because it is not sequential like mail, this medium is much better suited to
sharing "gestalts" such as personal profiles and interests, project descriptions
and status, and the like. Because anyone can make their own changes or new pages,
it is an ideal medium for "hosting" a community. There is no need for everyone
to have a web page with your thoughts on Squeak -- the Squeak Wiki is
waiting right now to host your thoughts.
The internal documentation of Squeak is now being done on a Squeak-based web
server. Enter the Squeak Documentation Swiki to see the contents of all the info windows
in Squeak.
You may fondly remember Ward Cunningham's Wiki-wiki. It has now been moved in its
entirety to a Swiki at Georgia Tech: start at
WelcomeVisitors
Every copy of Squeak now includes Mark Guzdial's Wiki web server.
A Swiki is one of
several Plugable Web Servers
based on Georg Gollman's Squeak web server software. Swikis are available with
password protection for the site or for the individual page.
You are allowed to change Squeak, write extensions to Squeak, build an
application in Squeak, and include some or all of Squeak with your products.
You may distribute all of these things along with Squeak, or portions of
Squeak, for free or for money. However, you must distribute these things
under a license that protects Apple in the way described in this license.
If you modify any of the methods of class objects (or their relationships)
that come with Squeak (as opposed to building on top of the classes in the
release), you must post the modifications on a web site or otherwise make
them available for free to others, just as has been done with Squeak. The
same is true if you port Squeak to another machine or operating system -
you must post your port on a web site or otherwise make it available for
free to others under the same license terms.
The first three files are platform-independent. The fourth file is the
interpreter, or virtual machine (VM), and you must get one that is
intended for your particular computer. Plug-ins are also different
for each OS.
All files must be downloaded in Binary mode
Put them all in the same directory. Launch the image and the VM together,
if possible.
For up to the minute download info, see the
Download Squeak
page on the Swiki.
Even though image, sources, and changes are the same across platforms, we
list them by operating system, so they will come packed in the proper format.
Windows 98/95, NT, and CE For Windows CE you have two choices.
Macintosh
MacOS X Server
UNIX
Master Squeak UNIX site:
http://www-sor.inria.fr/~piumarta/squeak/.
Note that sound
only works on some of ports, for further information check the master
Squeak Unix site.
Ports so far include:
Squeak on many PDAs
Zaurus
Acorn RiscOS
DEC Itsy
OS/2
DOS
Be OS
NeXT
Further Downloading Information
The primary archive at UIUC is mirrored in these locations:
See our Discussion of some selected Goodies. If you have code to share,
see How to Submit a Goodie.
Seriously, though, there is something here that touches on Squeak philosophy.
Official standards and product support are the enemies of change. Next to
universal access, malleability is the prime figure of merit for Squeak. It
is our intention for Squeak to evolve.
Some people feel tentative about using a system that appears to be dependent
on the whimsical enthusiasm of a couple of wizards. Who could make product
plans upon such shifting sands?
The answer is simple: Each Squeak release includes everything about itself:
the image, the virtual machine, with complete source code for each. If
the Squeak team vanished tomorrow, probably 25% of the folks on the Squeak
mail list could maintain the current version single-handedly for the next
20 years.
It's better than being supported. It's having control over your destiny.
The main Squeak Discussion Area is at Georgia Tech.
Stephen Pope's U.S. mirror site at CREATE at UCSB. Back online!
The Smalltalk User Group of Argentina (SUGAR) has a good site (in English and Spanish).
European users may wish to use:
The original Xerox PARC report on ThingLab, Alan Borning's system for building graphical constraints (1979). Download the
ThingLab goodie
and run it in Squeak (still has some conflicts with other Squeak features).
Serg Koren's Site
with sources that can be compiled by Code Warrior Professional Release 2,
and some improved Squeak examples in the image.
What is Cool about Squeak
To quote from Dwight Hughes, a frequent contributor to the Squeak mailing list,
"How is Squeak important? Squeak extends the fundamental Smalltalk
philosophy of complete openness -- where everything is available to
see, understand, modify, and extend for whatever purpose -- to include
even the VM. It is a genuine, complete, compact, efficient Smalltalk-80
environment (*not* a toy). It is not specialized for any particular
hardware/OS platform. Porting is easy -- you are not fighting entrenched
platform/OS dependencies to move to a new system or configuration. It has
essentially been put into the public domain - greatly broadening potential
interest, and potential applications. The core team behind Squeak includes
Dan Ingalls, Alan Kay, Ted Kaehler, John Maloney, and Scott Wallace. All
of this has attracted many of the best and most experienced Smalltalk
programmers and implementers in the world."A Brief History of Squeak
Squeak began, very simply, with the needs of a research group at Apple. We
wanted a system as expressive and immediate as Smalltalk to pursue various
application goals (prototypical educational software, user interface experiments
and (let's be honest) another run at the Dynabook fence). As you can read in
the OOPSLA paper ("Back to the Future") we hit on the idea of writing a
Smalltalk interpreter in a subset of Smalltalk, together with a translator
from that subset to C.Philosophy
The current Squeak interpreter combines a classical ST-80 interpreter with
a simple yet efficient 32-bit direct-pointer object memory and incremental
garbage collector. It also includes a BitBlt graphics system that supports
1-, 2-, 4-, and 8-bit indexed colors, as well as 16- and 32-bit RGB colors,
together with a "warp drive" that supports fast rotations and other affine
transformations, as well as simple anti-aliasing. Other notable (and
equally portable) capabilities of Squeak include 16-bit sound input and
output, and support for sockets and general network access.The Squeak Community
Squeak has an active and enthusiastic user community. Participants include
teachers working on currculum materials, commercial and academic users, and
a number of "quantum mechanics" interested in newer and better approaches
to the ultimate goal of making high-quality computation simple and efficient.The Squeak Mailing List
For the first year of its life the external Squeak community came together
and grew through a mailing list initiated and supported by Stephen Pope at
UCSB's CREATE project. With many other fish to fry, Stephen has passed the
baton to John Brant at the Computer Science Department at UIUC (University of
Illinois, Urbana-Champaign). The main Squeak mail list is
squeak@cs.uiuc.edu
As you might guess, this list carries a lot of traffic, including questions
from newbies, bug reports and fixes, discussions of how to improve Squeak,
etc. For those who want less traffic,
squeak-annc@cs.uiuc.edu
carries only major announcements such as availability of new releases. squeak-request@cs.uiuc.edu
with the subject of "subscribe" (or "unsubscribe").
Unsubscribing may also be done by filling out the web form at
http://squeak.cs.uiuc.edu/mail/subscribe.html. squeak-annc-request@cs.uiuc.edu
archive of the Main Squeak List
archive of Squeak-Annc List
Join us on Wiki Servers
In addition to the mailing list, Squeak is discussed on a web site that acts like a
bulletin board. Please visit our Squeak Discussion Area. How is that discussion area implemented? Well, ...Squeak is Free, with a Liberal License
Smalltalk-80 was developed at Xerox PARC in the 1970s. Apple obtained a
license in 1980. A team at Apple developed Squeak in 1996, and have made
it available free under license.
The license agreement is intended to keep
Squeak open and available to the user community, while allowing users to
do useful things with Squeak. Here is a paraphrase of the license terms:Downloading Squeak
Please read the license for Squeak.
No matter what system you are on, you will need these four files:
click here to download Squeak 2.7 for Win 98/95 and NT. You will
get a zip archive of all four files needed for Squeak.
Once you are in Squeak, left mouse button to select, right for the
content menu, ALT-click is the window menu, ALT-period to interrupt or
use Ctrl-Break. (port by Andreas Raab)
Squeak 2.7 is available as a bundle of files: Squeak2.7-mac.sea
In Squeak on the Mac, Option-click for content menu, Command-click for
window menu (a.k.a. Apple or flower key), Command-period to
interrupt.
(port by Dan Ingalls and John Maloney, with Alan Kay,
Ted Kaehler, and Scott Wallace. Done at Apple, then continued at
Disney)
There are three ways to run Squeak on Mac OS X. If you use the
currently shipping Mac OS X Server, use the MacOS X Server yellow box port by Marcel Weiher. Currently this
bundle is a 2.6 VM with 2.7 images and changes files.
If you are a MacOS-X DP2 developer the same port runs on your system
in Cocoa mode. It is also possible to use the MacOS port above in
classic or blue box mode.
The master site is at http://www.metaobject.com/downloads/Squeak/
Squeak runs on many UNIX OS's. Squeak should compile "out of the box" for
most versions of Unix running on most architectures, using only
GNU make,
and simple makefile modifications. Squeak's makefiles
use many extensions provided only by GNU make and are thus incompatible
with other make versions.
We offer precompiled UNIX binaries for these platforms:
In this
directory, click on your UNIX OS.
Source code in C is available for UNIX systems, if needed.
Left mouse button to select, right for content menu,
ALT-click is the window menu, ALT-period to interrupt.
(port by Ian Piumarta)
A mini version of Squeak 2.3 can be derived from the release
by automated deletions. It decompiles system sources with temp
names preserved. The resulting 580k image can browse over 850k of
formatted source code with no other files needed. This image
includes an editor, compiler, source code browsers, fileLists,
Floats and LargeIntegers. It is a complete Smalltalk development
environment that can run in 1MB on many PDA's.
A premade mini image lives here.
Interpreters for specific machines:
Squeak for the Sharp Zaurus PDA.
(Japanese domestic version only, not the English version, nor the
English WindowsCE version).
The Squeak Zaurus page in Japanese.
(port by OHSHIMA Yoshiki)
The VM build package is provided ready to go in a Sparkive and
the runtime is available in both full and slightly shrunk forms, with the
smaller image about 1Mb smaller than the bigger. Should work ok on an Oracle
NC (preferably the 'Office'
StrongARM version) if you know how to do the RiscOS->NCOS configure tricks.
And on the 'Phoebe2100' machines. It should function, albeit a little
slowly, on IMS Peanuts as well. Command-period is the interrupt key on these machines.
Full Instructions. (port by Tim Rowledge)
Tim Rowledge did a port to the DEC Itsy,
a research PDA with software based on Linux OS and standard GNU tools.
A fast modern port using the DIVE video ddls.
(port by Juan Manuel Vuletich. Original port using XFree86 on OS/2
by Boris G. Chr. Shingarov)
Port to bare DOS on a PC. (Port by Chris Grindstaff)
Squeak for the Be OS is available.
(port by Colin Sarsfield and his team)
Squeak on NeXTSTEP, with a pure
NeXT front-end. Available for NeXTSTEP 3.3 (it may run on
OPENSTEP 4.2 too). Version 0.2d14 is compiled for NeXTSTEP on the Motorola and
Intel boxes.
A preliminary version lives here.
Look in this directory for interpreter sources.
And here for ".gz" files of the image, sources, and changes.
Won't compile on OPENSTEP systems
such as Rhapsody yet. (port by Pascal Bourguignon).
If you have trouble starting Squeak, Read the
troubleshooting section.Goodies and Other Squeak-Related Software
"Goodie" is a Smalltalk term meaning useful software that can be filed into
a working image to give it some useful or interesting new capability. A number
of Squeak-specific goodies are
available here.
Moreover a lot of code in the
vast UIUC Smalltalk Archives will
run in Squeak with little or no modification.Squeak Support
Boris Shingarov once wrote in joking reference to an "unofficial" feature of Squeak,
"Wow! Is there anything in Squeak that is supported or official?!!!"
We responded,
"Of course not. Well, the name is official, and the current version
runs bit-identical on more platforms than most other software ;-)."
Where is Squeak Headed?
(This section has its own page. Click here.)Other Sites
The official Squeak Documentation site.
Ian Puimarta's site for Macintosh and Unix versions of Squeak (INRIA, France).
Andreas Raab's site for Macintosh and Windows versions of Squeak
(Univ. of Magdeburg, Germany). Further References
This page is http://squeak.org/ ... or ... http://squeak.cs.uiuc.edu/
Written by Dan Ingalls and Ted Kaehler (kaehler2@webpage.com), 21 Apr 99.