This page is a wiki. Please login or create an account to begin editing.


Ruby for MacOS 1.1, or “MacRuby”

Rating:
No votes yet
Category:
Year released:
Author:

Publisher:
#1
[www].se [ftp].se [mirror].us [mirror].de
macruby-11b7-010d0.sit_.bin (738.50 KB)
MD5: 07c80cf8f1c4c9be32b6a23b7b3437f4
For Mac OS 8.5 - 8.6 - Mac OS 9
#2
[www].se [ftp].se [mirror].us [mirror].de
macruby-src-010d0.sit_.bin (125.75 KB)
MD5: 2ba971b9fa3ada8860c23fd3341300fa
For Mac OS 8.5 - 8.6 - Mac OS 9
#3
[www].se [ftp].se [mirror].us [mirror].de
ruby-11b7-mwerks-2.diff_.gz (10.23 KB)
MD5: e817755afb96a224d6f37e9f0cbe9473
For Mac OS 8.5 - 8.6 - Mac OS 9
Emulation
This app works with: SheepShaver,

An early, experimental port of the Ruby programming language to classic Mac OS, made by Japanese programmer Fujimoto Hisakuni and other contributors in 1998. Known varyingly as either “Ruby for Mac OS” or “MacRuby,” but not to be confused with the later MacRuby project, which integrated Ruby with the Objective-C API.

Ruby is provided as a “shlb” shared library, and various application programs are provided to use the Ruby language in various ways, from AppleScript to droplets to just packaging your own single-file program. It also includes a Ruby REPL for trying out the language manually.

Downloads are as follows:

  1. The compiled Ruby applications, libraries and samples
  2. “Files needed to make MacRuby” (Mac-specific sources for the droplets and SIOUX-based console UI)
  3. “difference from ruby-1.1b7” (Mac-specific changes to the original Ruby project source tree made for this port)

There was originally a full Ruby source tree file, but this appears to have been lost to time. One could, however, reconstruct it by applying the third download to an original copy of Ruby 1.1b7’s source.

From the “MacRubyについて” (“About MacRuby”) file included with the download:

 Rubyはまつもと ゆきひろさん作のオブジェクト指向スクリプト言語です。Rubyそのものについては <http://www.netlab.co.jp/ruby/> などを参照してください。
 MacRubyはRubyをMacOSで使えるようにしたものです。MacRubyという名称は、MacOSで動作するRuby環境を表わす仮の名前でauthorizeされたものではありません。

 MacRubyは、Ruby本体(共有ライブラリ)、Ruby本体を利用するアプリケーション、ライブラリ、拡張モジュールなどで構成されます。Ruby本体は共有ライブラリになっています。MacRuby本体(共有ライブラリ)を利用するアプリケーションを、MacRubyアプリケーションと呼びます。MacRubyのユーザは、通常、MacRubyアプリケーションを介してRubyを利用することになります。
 現在のMacRubyはかなり実験的なものです。ここに書かれていることは予告なしに変更することがあります。動作させることにより何かしらトラブルが起こることもありえますが、その点ご理解ください。いまのところ68Kマッキントッシュでは動きません。

And a rough translation to English:

 Ruby is an object-oriented scripting language created by Matsumoto Yukihiro. Please refer to <http://www.netlab.co.jp/ruby/> etc. for Ruby itself.
 MacRuby is a version of Ruby that can be used on MacOS. The name MacRuby is an unofficial, tentative name for a Ruby environment running on MacOS.

MacRuby consists of Ruby (shared library), applications that use Ruby, libraries, extension modules, etc. An application that uses the MacRuby shared library is called a MacRuby application. MacRuby users will typically use Ruby through a MacRuby application.
MacRuby today is pretty experimental. What is written here is subject to change without notice. Please understand that some problems may occur when using it. Currently it doesn't work on 68K Macintosh.

From a section on limitations in the same document:

オリジナルRubyとの違い

 困ったことにオリジナルとの違いはたくさんあるのですが... (^^;

 オリジナルと違ってよく落ちます (^^;。sample以下のスクリプトの中には、動かすとエラーになったり、ひどい場合は爆弾を出したりフリーズしたりするものがあります。すみませんが、まだまだ完成度は低いです。

 Processモジュール、IOクラスの一部など、processやpipeなどによるprocess間通信に関する部分はまともに実装されていません。もともとMacOSにはバイトストリームによるプロセス間通信という考え方がなく、プロセス間通信(というかアプリケーション間通信)はAppleEventという構造を持ったデータを介して行われます。MacOSとUNIXとではモデルがあまりにも違い過ぎます。

And a translation:

Differences from the original Ruby

Unfortunately there are many differences from the original... (^^;
Unlike the original, it often crashes (^^; Some of the scripts under sample will cause an error when run, and in the worst case, a bomb or freeze. I'm sorry, but it's still quite incomplete.

Parts related to interprocess communication by process and pipe, such as Process module and the IO class, are not implemented properly.
Originally, MacOS did not have the concept of interprocess communication by byte stream, and interprocess communication (or rather inter-application communication) is performed via data with a structure called Apple Event.
The models are too different between MacOS and UNIX.

Information and downloads retrieved from the Wayback Machine’s copy of the original website: http://www.imasy.or.jp/~hisa/ruby/index.html

Compatibility
Architecture: PPC

Requires a Power Macintosh. Specific OS version compatibility unknown, but likely at least OS 8-9. Confirmed by this uploader to run on Mac OS 9.2 on a PowerBook G4.