a small arrows prototype

RE01 Rice Brian T. EM2 BRice@vinson.navy.mil
Tue, 11 May 1999 06:31:50 -0700


after discussing the possibilities and hurdles of implementation with Tril,
i've decided to create a prototype for bootstrapping the Arrow system using
the Squeak environment.  for those of you unfamiliar, Squeak is an
implementation of the SmallTalk-80 virtual machine with graphical support.
the software is supported on most major gui's, including windows, x,
macintosh, and some pda's, as well as basic dos, linux, and unix
environments.

the image files for squeak environments contain all the source code for the
interpreter, as well as a smalltalk-to-c translator.  basically, everything
that would concern the implementation will all consist of smalltalk objects,
so that full c source code can be generated at some point.  the source for
squeak softwrae and info is:

http://www.squeak.org/

my reasons for choosing it include:
1. very high level semantics (better than c or pascal).
2. exploratory programming with lots of programmers expanding the smalltalk
universe.
3. the implementation has been ported to many common OS's and platforms
(better than Self).
4. the implementation includes access to the graphics screen (better than
Lisp and most Schemes) and a graphics library and gui.
5. the language is very small, and simple to translate.
6. the eventual source code will be very dense, due to the high level nature
of the language.

so far, i have roughly 7K of source code, forming a framework for
development.  right now, the main focus is the logical structure of the
classes.  the graphical interface will be defined next.  once an editor is
constructed, i will then focus on the simulation of infinite-sized
structures and a lazy evaluator for them.

eventual code size for the full class structure should be about 35k,
uncompressed.  this process also looks to be _much_ simpler than the C
coding that i was flirting with earlier.

any comments or suggestions?