Rinda (lenguaje de programación Ruby)


Rinda es una biblioteca de software para crear servicios de cooperación modulares y distribuidos en Ruby utilizando el espacio de tuplas o el paradigma de computación distribuida Linda .

Basado en un código fuente lanzado inicialmente a la comunidad de Ruby por Masatoshi SEKI en 2000, [1] Rinda fue absorbida más tarde por el módulo central distribuido Ruby (DRb) de Ruby . Rinda se ha distribuido como parte de la biblioteca principal de Ruby desde Ruby 1.8.

Rinda proporciona un marco mediante el cual varios procesos de Ruby (que pueden o no estar ejecutándose en la misma máquina) pueden agregar, acceder y modificar tuplas (una lista ordenada de elementos) almacenadas en un repositorio de datos compartido (el tuplespace).

Por ejemplo, el siguiente programa crea un nuevo tuplespace de Rinda e inicializa un servicio DRb que espera las solicitudes que llegan a través de la red.

Por ejemplo, el programa siguiente se conecta a un servicio Rinda y escucha cualquier tupla compuesta por un operador aritmético seguido de dos números (como la secuencia "+ 2 4"). Cuando se descubre dicha tupla, el programa calcula el resultado de la operación matemática ( por ejemplo, procesar "+ 2 4" en "6") y almacenarlo en tuplespace.

Por ejemplo, el siguiente programa publica tuplas aritméticas de prefijo en el espacio de tuplas y vuelve a leer el resultado (publicado por el programa anterior).