# Linda primer?

**URL:** <https://www.ruby-forum.com/t/linda-primer/86382>\
**Category:** Ruby\
**Created:** [February 21, 2007, 10:19pm UTC](https://www.ruby-forum.com/t/linda-primer/86382 "2007-02-21T22:19:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![stickstone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6f9a4e/32.png) [@stickstone](https://www.ruby-forum.com/u/stickstone)\
**Post date:** [February 21, 2007, 10:19pm UTC](https://www.ruby-forum.com/t/linda-primer/86382/1 "2007-02-21T22:19:34Z")

</div>

I’ve been trying to find out some info on Ruby’s “Rinda”. I’m familar  
with  
DRb, but not Rinda/Linda.

All the materials I can find on the web seem to say something along the  
lines of: “Rinda is just like Java’s Linda, but for Ruby”. But not being  
a  
Java-head, I don’t know anything about Linda. Or they say: “it’s a  
blackboard where you store and retrieve tuples”, without any details  
about  
the semantics of these store and retrieve operations.

What I’m looking for is an overview including:

- what the data model looks like
- what basic operations the client can request
- what the semantics are of these operations

Does anyone know of any documentation at this level?

The rdoc at [http://www.ruby-doc.org/stdlib/libdoc/rinda/rdoc/index.html](http://www.ruby-doc.org/stdlib/libdoc/rinda/rdoc/index.html)  
doesn’t really help me. To take one example, Rinda::TupleSpace#move  
says:

"move(port, tuple, sec=nil) {|template| …}

Moves tuple to port"

I have a vague inkling of what a “tuple” is, but I certainly don’t know  
what  
a “port” is in this context.

As a secondary question: does anyone know of any cross-platform  
tuplespace  
systems which could be shared between, say, Ruby and Perl? (I realise I  
could stick a SOAP facade onto a Rinda TupleSpace, but perhaps there’s a  
better way)

Many thanks,

Brian.

---

<div class="post-metadata">

**Author:** ![stickstone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6f9a4e/32.png) [@stickstone](https://www.ruby-forum.com/u/stickstone)\
**Post date:** [February 21, 2007, 11:34pm UTC](https://www.ruby-forum.com/t/linda-primer/86382/2 "2007-02-21T23:34:00Z")

</div>

Le mercredi 21 février 2007 22:19, Brian C. a écrit :

> I’ve been trying to find out some info on Ruby’s “Rinda”. I’m familar with  
> DRb, but not Rinda/Linda.

There are some simple examples in the great book “Ruby Cookbook”, by  
Lucas  
Carlson and Leonard Richardson (the part about drb and rinda is actually  
written by James Edward G. II).  
At the end of the articles, there are pointers to online documentation  
that  
may interest you :

[http://rubyforge.org/docman/view.php/251/216/DistributedRuby.pdf](http://rubyforge.org/docman/view.php/251/216/DistributedRuby.pdf)  
[http://segment7.net/projects/ruby/drb/rinda/ringserver.html](http://segment7.net/projects/ruby/drb/rinda/ringserver.html)

regards

---

<div class="post-metadata">

**Author:** ![stickstone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6f9a4e/32.png) [@stickstone](https://www.ruby-forum.com/u/stickstone)\
**Post date:** [February 22, 2007, 5:11am UTC](https://www.ruby-forum.com/t/linda-primer/86382/3 "2007-02-22T05:11:30Z")

</div>

On Feb 21, 2007, at 4:19 PM, Brian C. wrote:

> details about  
> the semantics of these store and retrieve operations.

Linda has been around far longer than Java. I suggest going to the  
source:

How to Write Parallel Programs: A First Course by Nicholas Carriero  
and David Gelernter.

[http://www.amazon.com/dp/026203171X](http://www.amazon.com/dp/026203171X)

---

<div class="post-metadata">

**Author:** ![stickstone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6f9a4e/32.png) [@stickstone](https://www.ruby-forum.com/u/stickstone)\
**Post date:** [February 22, 2007, 1:23pm UTC](https://www.ruby-forum.com/t/linda-primer/86382/4 "2007-02-22T13:23:24Z")

</div>

On Thu, Feb 22, 2007 at 07:32:57AM +0900, Olivier R. wrote:

> > I’ve been trying to find out some info on Ruby’s “Rinda”. I’m familar with  
> > DRb, but not Rinda/Linda.  
> > …  
> > [http://rubyforge.org/docman/view.php/251/216/DistributedRuby.pdf](http://rubyforge.org/docman/view.php/251/216/DistributedRuby.pdf)

That’s very good, thank you!

---

<div class="post-metadata">

**Author:** ![stickstone](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/6f9a4e/32.png) [@stickstone](https://www.ruby-forum.com/u/stickstone)\
**Post date:** [February 22, 2007, 2:26pm UTC](https://www.ruby-forum.com/t/linda-primer/86382/5 "2007-02-22T14:26:31Z")

</div>

2007/2/22, Ryan D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> How to Write Parallel Programs: A First Course by Nicholas Carriero  
> and David Gelernter.
> 
> [http://www.amazon.com/dp/026203171X](http://www.amazon.com/dp/026203171X)

A PDF version is available at [How to Write Parallel Programs](http://www.lindaspaces.com/book/index.html)

The Java version of Linda is actually called JavaSpaces. Other  
implementations exist for various languages, see

> **[Linda (coordination language)](https://en.wikipedia.org/wiki/Linda_%28coordination_language%29)**
>
> In computer science, Linda is a coordination model that aids communication in parallel computing environments. Developed by David Gelernter, it is meant to be used alongside a full-fledged computation language like Fortran or C where Linda's role is to "create computational activities and to support communication among them".
> David Gelernter wrote the first version of Linda as a Ph.D. candidate in 1979, naming it after Linda Lovelace, who appeared in the pornographic film Deep Throat. At the tim...
