1. A relational language designed by Jones and M. Sheeran in 1986 for describing and designing circuits (a hardware description language). Ruby programs denote binary relations and programs are built-up inductively from primitive relations using a pre-defined set of relational operators. Ruby programs also have a geometric interpretation as networks of primitive relations connected by wires, which is important when layout is considered in circuit design.
Ruby has been continually developed since 1986, and has been used to design many different kinds of circuits, including systolic arrays, butterfly networks and arithmetic circuits.
["Ruby - A Language of Relations and Higher-Order Functions", M. Sheeran, Proc 3rd Banff Workshop on Hardware Verification, Springer 1990].
["Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics", B. Higman, ULICS Intl Report No ICSI 170, U London (1968)].
Similar in scope to Perl and Python, Ruby has high-level data types, automatic memory management, dynamic typing, a module system, exceptions, and a rich standard library. Other features are CLU-style iterators for loop abstraction, singleton classes/methods and lexical closures.
Current version (stable): 1.6.7, as of 2002-03-01.
["Programming Ruby - The Pragmatic Programmer's Guide", David Thomas, Andrew Hunt, Yukihiro Matsumoto pub. Addison Wesley 2000].