User:Russell.Shackleton/Sandbox
Little_Smalltalk The original version of Little Smalltalk (LST1) was described in the book "A Little Smalltalk", Timothy Budd, Addison-Wesley, ISBN 0-201-10698-1 (ALST). Later versions were written "to be easy to port to new machines and operating systems".[1] Parts of the Little Smalltalk interpreter and the language were modified to achieve this.
Preamble
[edit]Little Smalltalk 3.04 DOS (LST3) runs on Microsoft MS-DOS 6.x, Windows 98 and when using the command interpreter (Start > Run > cmd) of Windows NT, 2000 and XP.
The minimum system consists of two files:
- ST.EXE - the Little Smalltalk interpreter
- SYSTEMIM - the default Little Smalltalk system image of the standard library
After running ST.EXE, the console displays:
Little Smalltalk, Version 3.04
Written by Tim Budd, Oregon State University
object count 2989
>
Class Changes
[edit]Classes Removed from LST1 | Classes Added to LST3 |
---|---|
Radian | Link |
Point | Switch |
Bag | Context |
KeyedCollection | Scheduler |
SequenceableCollection | Method |
ArrayedCollection | IndexedCollection |
Fraction | |
LongInteger |
The arrangement of classes and subclasses in the standard library has also changed. LST3 contains 34 classes made up of 435 methods.
Developing Classes
[edit]The procedure to add user-defined classes to the standard library described on page 39 ff of ALST has been changed for the DOS environment.
- Typing editor at the Little Smalltalk prompt returns ms, the name of the default editor. Change this value if you are using a different editor, in most cases this will be Microsoft's editor:
- > editor <- 'edit.com'
- Use the addSubClass:instanceVariableNames: method from Class to create your class. For example, to create a HighLow class as a subclass of Object with one instance variable named 'randomnumber':
- > Object addSubClass: #HighLow instanceVariableNames: 'randomnumber'
Use the following methods of Class to add, edit and view the new methods of the HighLow class:
- HighLow addMethod - add one method to the class
- HighLow readMethods - add several methods to the class
- HighLow editMethod: #methodname - edit the methodname method (note the symbol)
- HighLow viewMethod: #methodname - view the methodname method
Other Changes
[edit]- LST3 stores the last keyboard input in a one-line history buffer
- F1 retrieves the next character from the history buffer
- F3 retrieves the entire history buffer, like the last command in LST1
- Ins adds the next character typed at the keyboard to the command line
- Del deletes the next character from the history buffer
- F6 prints ^Z which is the end-of-file character on the command line. Press Enter to exit from the Little Smalltalk interpreter
- To return a string in response to a prompt, use the getPrompt: method:[2]
> name <- smalltalk getPrompt: 'name: '
- Be aware of the 8.3 filename restrictions in MS-DOS. Little Smalltalk follows these restrictions in all environments. The EmployeeRecord and EmployeeDatabase classes developed in Chapter 5 of ALST will both be named EMPLOYEE.ST when they are filed out.