While I really like Linda (and have seen at least two nice implementations in Smalltalk), it does require using a very different design for your programs.
Several other alternatives have been developed for massively parallel Smalltalk and I would recomend at least a quick look at:
http://cva.stanford.edu/j-machine/cva_j_machine.html
Though this Concurrent Smalltalk (there was another project with the same name) had a Lisp-like syntax instead of the keywords we love so much, it really was Smalltalk and was running on 1024 node machines.
Hmmm... I see only a brief mention of "distributed objects" in there, though I was pretty sure that was where the notion of "concurrent aggregates" came from. The idea was that if collections were allocated with its members spread out through several nodes, messages such as #do:, #select: and so on would automatically express parallel execution. So many "normal" Smalltalk programs could become highly parallel simply by using concurrent versions of collection objects instead of having to rewrite everything to use tuples.
-- Jecel
I'm trying to get Squeak to talk to an MySQL db and I'm using Joerg Brunsmann mysql driver. It sends a message #withKeysAndValues: to IndexedCollection.
I can't find that message in Squeak.
Should I
1) Stop bothering you and implement it 2) Learn how to use the tools PROPERLY, as it's in fooBlotDict class 3) Steal it from another ST implementation? (don't have any to hand ;-)
cheers
chris
(ps: I presume it takes a collection of arrays #(#key #value) ) and does the obvious?
Chris Wright wrote: (and confused everyone!)
I'm trying to get Squeak to talk to an MySQL db and I'm using Joerg Brunsmann mysql driver. It sends a message #withKeysAndValues: to IndexedCollection.
^^^^^^^^^^^^^^^^^
WRONG. Brain failure. Sorry.
It IS called on IdentityDictionary.
Here's the quote:
errors := IdentityDictionary withKeysAndValues: self class errorTableMap
sorry....
Chris
squeak-dev@lists.squeakfoundation.org