Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Octocat-spinner-32 build-aux Merge branch 'stable-3.2' December 29, 2012
Octocat-spinner-32 doc build: prefer pattern rules over suffix rules August 21, 2012
Octocat-spinner-32 examples optimize #atAllPut:, synchronize examples/Bench.st with Squeak's November 08, 2010
Octocat-spinner-32 kernel Merge branch 'stable-3.2' February 17, 2013
Octocat-spinner-32 lib-src Merge branch 'stable-3.2' December 29, 2012
Octocat-spinner-32 libgst Remove security framework February 08, 2013
Octocat-spinner-32 lightning pull changes from Alexey Zakhlestin December 09, 2009
Octocat-spinner-32 opcode distribute missing files January 09, 2008
Octocat-spinner-32 packages Merge branch 'stable-3.2' February 17, 2013
Octocat-spinner-32 scripts stinst: Export comments in a way they are parsable with pharo 1.4 February 08, 2013
Octocat-spinner-32 snprintfv misc: Enable silent rules of automake February 08, 2013
Octocat-spinner-32 superops fix superops embedded script February 24, 2011
Octocat-spinner-32 tests Merge branch 'stable-3.2' February 17, 2013
Octocat-spinner-32 unsupported bring CPP back from dead (and CParseType too, though it's broken) January 31, 2008
Octocat-spinner-32 .gdbinit add handle SIGUSR2 noprint to .gdbinit February 08, 2010
Octocat-spinner-32 .gitattributes add .gitattributes file April 10, 2008
Octocat-spinner-32 .gitignore pull changes from Alexey Zakhlestin December 09, 2009
Octocat-spinner-32 .travis.yml travis: Update the apt repository before each build January 23, 2013
Octocat-spinner-32 AUTHORS do not mention BLOX in the documentation September 04, 2009
Octocat-spinner-32 COPYING update FSF address January 09, 2008
Octocat-spinner-32 COPYING.DOC switch to GFDL 1.3 November 04, 2008
Octocat-spinner-32 COPYING.LIB update FSF address January 09, 2008
Octocat-spinner-32 ChangeLog Merge branch 'stable-3.2' February 17, 2013
Octocat-spinner-32 Doxyfile initial import for gst 2.2 betas November 07, 2004
Octocat-spinner-32 Makefile.am Merge branch 'stable-3.2' April 21, 2011
Octocat-spinner-32 NEWS add more NEWS items February 08, 2013
Octocat-spinner-32 README initial import November 04, 2004
Octocat-spinner-32 THANKS recognize DragonFly August 01, 2010
Octocat-spinner-32 TODO update TODO January 25, 2009
Octocat-spinner-32 configure.ac misc: Enable silent rules of automake February 08, 2013
Octocat-spinner-32 gnu-smalltalk.pc.in move static library dependencies to Libs.private and Requires.private May 19, 2011
Octocat-spinner-32 gst-config.in add --with-moduledir March 16, 2008
Octocat-spinner-32 gst-mode.el.in update copyright years October 18, 2008
Octocat-spinner-32 gst-tool.c add -i option to gst-blox and gst-browser August 05, 2011
Octocat-spinner-32 gsticon.ico initial import November 04, 2004
Octocat-spinner-32 libc.la.in please libtool 2.2.6 July 12, 2009
Octocat-spinner-32 main.c update copyright notices for 2009 January 01, 2010
Octocat-spinner-32 makesetup.in Merge branch 'stable-3.2' September 09, 2011
Octocat-spinner-32 packages.xml Remove security framework February 08, 2013
Octocat-spinner-32 smalltalk-mode-init.el.in simplify installation of Emacs modes July 22, 2009
Octocat-spinner-32 smalltalk-mode.el new smalltalk-mode navigational shortcuts January 15, 2011
Octocat-spinner-32 winewrapper.c more winewrapper hacks April 11, 2010
README
   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.

   The 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.  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.

   In the Smalltalk language, everything is an object.  This includes
numbers, executable procedures (methods), stack frames (called method
contexts or block contexts), etc.  Each object is an "instance" of a
"class".  A class can be thought of as a datatype and the set of
functions that operate on that datatype.  An instance is a particular
variable of that datatype. When you want to perform an operation on an
object, you send it a "message", and the object performs an operation
that corresponds to that message.

   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 ran under Smalltalk?).  The availability
of a large body of system classes, once you learn 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.

   An example of what can be obtained with Smalltalk in this novel way
can be found in the manual's class reference.  That part of the manual
is entirely generated by a Smalltalk program, starting from the source
code for the system classes as distributed together with the system.

   Oh... of course ;-) GNU Smalltalk has bugs.  And of course I like
to hear from people who have something to say regarding it. So bug
reports, suggestions, help, advices, source code contributions are all
welcome.  All you have to do is send mail to the GNU Smalltalk mailing
list, at help-smalltalk@gnu.org. Answer is "almost" guaranteed.
Something went wrong with that request. Please try again.