----------------------------------------------------------------- The Ruby Interpreter ==================== Ruby is a relational language developed by Jones and Sheeran for describing and designing circuits. 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. This message explains how to obtain the Ruby interpreter, which allows Ruby programs to be executed. The interpreter is written in the functional language Lazy ML (LML), and is used under the interactive LML system. (The LML compiler is available by ftp from Chalmers; the files are in pub/haskell/chalmers.) Here follows instructions for how to install the Ruby interpreter at your site. First create a directory for the interpreter: % mkdir ruby % cd ruby Then ftp the source and documentation from Chalmers: % ftp ftp.cs.chalmers.se (or 129.16.225.66) Name: anonymous Password: ftp> cd pub/misc/ruby ftp> mget * ftp> Goodbye. Here is a description of each of the files: lml-lib.m LML source: useful general purpose functions parselib.m LML source: functions for building parsers ruby.m LML source: the Ruby interpreter rubylib.m LML source: standard Ruby definitions rubysim LML commands to load the interpreter guide.tex Latex source for the guide to the interpreter (Amslatex is required to latex this) guide.dvi The dvi-file for the guide README This file Now you must compile the interpreter: (this will take a few minutes) % lmlc -c *.m Finally you must change the path "/u/graham/LML/NewRuby" in each of the 4 first lines of the file "rubysim" to the appropriate path for your installation of the Ruby interpreter. You can find out the correct path to use by the Unix "pwd" command. The file "guide.dvi" tells you everything else you need to know. In particular it contains an introduction to Ruby, and a number of worked examples with the interpreter. If you have any comments or problems with the interpreter, please let me know. If you install the interpreter at your site, please send me some email (graham@cs.ruu.nl) so that I can keep you up to date with new versions. Graham Hutton Department of Computer Sciences University of Utrecht PO BOX 80089 3508 TB Utrecht The Netherlands -----------------------------------------------------------------