Arrow Version 0.1 Release
Brian Rice
water@tunes.org
Sat Jun 16 14:18:02 2001
Wow, guys. :)
That's all I can say. Check out the new protocols, cleaned up code,
bug fixes, neatly laid-out class hierarchy (select 'ArrowStub' and
hit alt-h for a browser on the class hierarchy for the large majority
of the architecture's classes), and some new cool operators.
It's at the usual place: http://tunes.org/~water/arrow
Please ignore the project file until I put together one with the
updated code and some more useful code views. This actually can
probably wait for the more important work on the architecture.
This also means that any further changes to the system I will list
explicitly and track subversions. I'll write out what the road map is
for reaching 1.0 either tomorrow or when I return home on this coming
Thursday. I'll say for now that between now and v1.0, Slate will be
implemented as a subset of Arrow. :)
The new ArrowTests.text has a new operator >> at the end, and arrows
and graphs respond to +, |, & appropriately. Everything is lazy, with
the exception of #anyOne, the existential quantifier, because it
needs re-writing in an intension system and self-hosted pattern
matcher that I am cooking up at the moment. Also coming is a
SEXP-eating REPL and a basic transcript app. Arrow frames are still
not done, but functional, and SmalltalkMOP is usable right now.
If something doesn't work, let me know immediately so I can address
it. There are a few bugs I know of, but I don't want to have to
bother you with them unless you run into them yourself. Most of them
have to do with #anyOne and its usage.
There is also an ArrowIntro.text in progress (and on line), made from
some of the Tests file and with lots of explanations. I suggest
reading that and then diving into class comments after that, and then
method comments (there are a hell of a lot of them) after that.
You'll notice that the Arrows package is pretty big now, mostly due
to features, because I have actually been *shortening* methods left
and right!! :)
I know a lot of the things I've promised in the Arrow Philosophy
paper sound like hype and not much substance, but I have been working
this long on expressing these things *properly* and getting the ideas
matched up to known hard science, so bear with me as I get everything
worked out, and look into some of those features, like >>, and the
self-hosting of the symbol-tables and such that are going to be
included soon.
Does everyone agree with this direction? Do you feel the need for
more definitive documentation or maybe CVS entries? Smalltalk code
really doesn't lend well to CVS; change-sets are really where it
works best so far, although Squeak should have a good module system
in a few months.
Comments, complaints, suggestions invited.
~