This is the Acorn port of Squeak 1.23, a public domain Smalltalk system.
Updates, patches etc are available from http://sumeru.stanford.edu/tim as and when I can make time to produce then.
What is Smalltalk?
------------------
Smalltalk is the original object oriented programming language and environment from which most OSs have learnt about windowing, pixel displays, menus and so on. You will need to read about Smalltalk to make best use of it, since it is likely to be quite unfamiliar to you at first.
Be warned, the user interface is not quite like RiscOS; in particular:-
a) the right hand mouse button is NOT used as 'adjust', but to open a menu to operate on the window currently active; thus serving many of the functions of the window icons under RiscOS
b) the menus make the choice when you _release_ the menu button over an item. So, press the menu button and hold it down whilst you make your choice.
c) as you will quickly notice, the Squeak windows can exist only within the single big RiscOS window. This may change later.
Information
-----------
For those with web access, there is plenty of information available about Squeak and all the other variants of Smalltalk.
See:-
http://create.ucsb.edu/Squeak/ Stephen Pope's Squeak Site (all ports, goodies, and packages)
ftp://alix.inria.fr/pub/squeak Ian Piumarta's UNIX ports
ftp://ftp.cs.uni-magdeburg.de/pub/Smalltalk/free/squeak/win32 Andreas Raab's Windows Ports
http://sumeru.stanford.edu/tim My Acorn Port
http://www.oti.com/jeffspg/smaltalk.htm Jeff McAffer's Smalltalk Links
news:comp.lang.smalltalk Smalltalk News Group
and perhaps most important, the squeak mailing list. You may get yourself onto the list by sending email to:
majordomo@create.ucsb.edu
with the letter body:
subscribe squeak
end
The Jeff McAffer page is one of the most useful since it is a remarkably comprehensive resource.
In print there are a number of good sources, some of which you might find on the shelves in better bookstores:-
Smalltalk 80 The Language, Adele Goldberg & David Robson
Addison-Wesley 1989 ISBN 0-201-13688-0
Smalltalk 80 The Interactive Programming Environment, Adele Goldberg
Addison Wesley 1984 ISBN 0-201-11372-4
Smalltalk 80 Bits of History, Words of Advice , Glenn Krasner
Addison Wesley 1984 ISBN 0-201-11669-3
Smalltalk-80: A Practical Introduction, Philip D. Gray & Ramzan Mohamed,
(ISBN 0-273-03105-8)
Inside Smalltalk Volume I, Wilf Lalonde & John Pugh
Prentice Hall 1991 ISBN 0-13-468414-1
Inside Smalltalk Volume II, Wilf Lalonde & John Pugh
Prentice Hall 1991 ISBN 0-13-465964-3
Object-Oriented Graphics, P. Wisskirchen
Springer-Verlag 1990 ISBN 3-540-52859-8
Practical Smalltalk: Using Smalltalk/V, Dan Shafer and Dean A. Ritz.
Springer-Verlag ISBN 0-387-97394-X
Rapid Prototyping for Object Oriented Systems, Mark Mullen
Addison Wesley 1990 ISBN 0-201-55024-5
Object-Oriented Design, Peter Coad and Ed Yourdon
Yourdon Press 1991 ISBN 0-13-630070-7
Object Oriented Programming for Artificial Intelligence, Ernest Tello
Addison Wesley 1989 ISBN 0-201-09228-x
The Well Tempered Object, Stephen Travis Pope
MIT Press 1991 ISBN 0-262-16126-5
Designing Object-Oriented Software,
Rebecca Wirfs-Brock, Brian Wilkerson, and Lauren Wiener
Prentice-Hall 1990 ISBN 0-13-629825-7
Object Oriented Programming with Smalltalk/V, Dusko Savic
Ellis Horwood 1990 ISBN 0-13-040692-9
An Introduction to Object Oriented Programming & Smalltalk
Lewis Pinson & Richard Wiener
Addison Wesley 1988 ISBN 0-201-19127-x
Known problems with this release
================================
File naming is a problem. Squeak is ported to many machines and far too many people make bad assumptions about the permissable form of file names. RiscOS is the only popular OS to have problems with long filenames, '.' used for filename extensions etc. This shouldn't be a problem in an object oriented system, since we should be able to catch bad behaviour and correct the file names, but there are many places currently in the system where something like 'fred the great.text' is used as a filename.
File opening can be a problem. RiscOS only lets us open files once, whereas most other systems at least let you open a file once for writing and many extra times for read only. This is used for quite a few things in the current system and so several useful facilities just won't work yet. I'm working on it. Evidence suggests that running Squeak out of a !sparkFS TAR archive can avoid this problem, and !X-files seems to have the same advantage. However, I did lose a bunch of work once when thrying this due to some corruption problem.
Colours can be amusing. Squeak can use 1,2,4,8,16 or 32 bpp displays, and can work with any of those on any (so far as I can test) RiscOS display mode, with reasonably good colour translation. EXCEPT when using 16/32 bpp Squeak dispaly on 16 or 32 bpp RiscOS modes, where we run into the endianness of the RGB words. Acorn chose to use the reverse of what everyone else does and so (since there are no palettes in these modes) you get 'BGR' colours and things can look pretty odd. Doesn't seem to be a solution.
No iconbar menu yet.
No clipboard integration - you can't cut/copy/paste from/to Squeak.
Hotkeys don't work very well. Mac/Windows provide a quite different key input event to RiscOS and it is taking time to sort out how to make Squeak understand the differences.
Sound is not hooked up yet.
Serial ports neither.
The legal bit
=============
The license under which Squeak is provided is specified by Apple Computer:-
.:. Plain English Examples of License Terms
.:. Our license agreement contains conditions intended to keep
.:. Squeak open and available to the user community, while
.:. allowing users to do useful things with Squeak. You will see
.:. the license once you begin installing Squeak. These following
.:. examples are provided as illustrations and are not legally
.:. binding. See the license for the real terms. To the extent that
.:. the examples and the license conflict, the license will govern.
.:.
.:. 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 our
.:. license to you.
.:.
.:. If you modify any of the methods of class objects (or their
.:. relationships) that come with Squeak (as opposed to building
.:. on top of what we provide), you must post the modifications
.:. on a web site or otherwise make them available for free to
.:. others, just as we have done with Squeak. Our license to you
.:. explains how you must do this.
.:.
.:. 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 terms
.:. described in our license to you.
Finally
-------
Have fun, join the mailing list, let us know how you do.