GNU Smalltalk

Software Screenshot:
GNU Smalltalk
Software Details:
Version: 3.2.4
Upload Date: 11 May 15
Developer: Paolo Bonzini
Distribution Type: Freeware
Downloads: 9

Rating: nan/5 (Total Votes: 0)

GNU Smalltalk is an implementation that closely follows the Smalltalk-80 language as described in the book Smalltalk-80: the Language and its Implementation by Adele Goldberg and David Robson, which will hereinafter be referred to as the Blue Book.

Smalltalk programming language is an object oriented programming language. This means, for one thing, that when programming you are thinking of not only the data that an object contains, but also of the operations available on that object.

The object's data representation capabilities and the operations available on the object are "inseparable"; the set of things that you can do with an object is defined precisely by the set of operations, which Smalltalk calls methods, that are available for that object: each object belongs to a class (a datatype and the set of functions that operate on it) or, better, it is an instance of that class.

You cannot even examine the contents of an object from the outside--to an outsider, the object is a black box that has some state and some operations available, but that's all you know: when you want to perform an operation on an object, you can only send it a message, and the object picks up the method that corresponds to that message.

In the Smalltalk language, everything is an object. This includes not only numbers and all data structures, but even classes, methods, pieces of code within a method (blocks or closures), stack frames (contexts), etc. Even if and while structures are implemented as methods sent to particular objects.

Unlike other Smalltalks (including Smalltalk-80), GNU Smalltalk emphasizes Smalltalk's rapid prototyping features rather than the graphical and easy-to-use nature of the programming environment (did you know that the first GUIs ever ran under Smalltalk?).

The availability of a large body of system classes, once you master them, makes it pretty easy to write complex programs which are usually a task for the so called scripting languages. Therefore, even though we have a nice GUI environment including a class browser, the goal of the GNU Smalltalk project is currently to produce a complete system to be used to write your scripts in a clear, aesthetically pleasing, and philosophically appealing programming language.

Installling:

The first thing to do to compile GNU Smalltalk is to configure the program, creating the makefiles and a `gstconf.h', which contains guesses at the system's peculiarities. This configuration is performed automatically by the `configure' shell script; to run it, merely type:

./configure

Options that you can pass to configure include --disable-dld, which precludes Smalltalk programs from dynamically linking libraries at run-time.

After you've configured GNU Smalltalk, you can compile the system by typing:

make

Smalltalk should compile and link with no errors. If compiling goes wrong you might want to check the commands used to launch the compiler. For example, be sure to check if your compiler has extensions which, if not enabled, don't make it ANSI compatible. If this is the case, type

make distclean
CFLAGS=needed command-line flags

and retry the configure/make process. In very particular cases, the configure script might miss the presence of a header file or a function on your system. You can patch the `config.cache' file created by the configure process. For example, if configure did not find your `unistd.h' header file, change the line reading

ac_cv_header_unistd_h=${ac_cv_header_unistd_h='no'}

to

ac_cv_header_unistd_h=${ac_cv_header_unistd_h='yes'}

and, again, retry the configure/make process.

The last lines of the make output should be like this:

export SMALLTALK_KERNEL=`cd ./kernel; pwd`;
./gst -iQ dummy_file
make[2]: Leaving directory `/home/utente/devel-gst'
make[1]: Leaving directory `/home/utente/devel-gst'

At this point, you have a working GNU Smalltalk. Congratulations!!!

You will also want to store the Smalltalk sources and create the image file in the proper place (the image file contains a full snapshot of the status of the system). This is done automatically when you do a make install. Specifying --enable-modules as an option to configure will load Smalltalk packages in the automatically installed image. For example

./configure --enable-modules=Blox,TCP

will create an image with the Blox user interface toolkit and the TCP abstraction library built-in.

Here are some key features of "GNU Smalltalk":

Similar Software

Other Software of Developer Paolo Bonzini

Comments to GNU Smalltalk

Comments not found
Add Comment
Turn on images!