Ruby

<language>

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.

ftp://ftp.cs.chalmers.se/pub/misc/ruby/.

E-mail: <graham@cs.chalmers.se>.

["Ruby - A Language of Relations and Higher-Order Functions", M. Sheeran, Proc 3rd Banff Workshop on Hardware Verification, Springer 1990].

2. One of five pedagogical languages based on Markov algorithms, used in Higman's report (below). The other languages are Brilliant, Diamond, Nonpareil, and Pearl.

["Nonpareil, a Machine Level Machine Independent Language for the Study of Semantics", B. Higman, ULICS Intl Report No ICSI 170, U London (1968)].

3. A fully object oriented interpreted scripting language by Yukihiro Matsumoto <matz@netlab.co.jp>.

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.

In Ruby, everything is an object, including the basic data types. For example, the number 1 is an instance of class Fixnum.

Current version (stable): 1.6.7, as of 2002-03-01.

Ruby Home.

Ruby Central.

["Programming Ruby - The Pragmatic Programmer's Guide", David Thomas, Andrew Hunt, Yukihiro Matsumoto pub. Addison Wesley 2000].