ふにょい日記

ふにょ・い 2 (形)[文]ク ふにょ・し 思い通りにならない為力が入らなくなる様。[派生] ――げ(形動)――さ(名)

さて、モーツァルトでもやってみるか

2008-07-17 01:50:25 | プログラミング・コンピューター
いや、音楽の話じゃありません(^_^;ゞ

Mozart (モーツァルト)というのは、プログラミング言語 Oz の処理系(てゆーかぁ~、開発環境?)の事です。

実は、この間の日曜日、野暮用があって御茶ノ水に行った帰りに、秋葉原に寄って、
とらのあなでニコニコ動画の CD を買った後、ヨドバシカメラに入っている書店で
「コンピュータプログラミングの概念・技法・モデル」(翔泳社) を衝動買いしてしまったのですが、
その本が、 Mozart を使っていたので、ちょっと触ってみたくなったのです。

プログラミング言語 Oz (Orz ではない) というのは、これまでプログラミング言語の
大分類とされてきた手続き型言語、関数型言語、論理型言語を、自然に一つにまとめあげた言語だそうです。
オブジェクト指向、並列処理(分散処理も?)等も言語として持っているようで、
これまでのプログラミングパラダイムの総まとめのような言語っぽいです。


文法は、まだよく分かりません(まだちゃんと本を読んでないので)。

おなじみの Hello World はこんな感じ。
{Show "Hello World"}


階乗の関数は、こんな感じ(上記の本の P.3 より)。
declare
fun {Fact N}
    if N==0 then 1 else N*{Fact N-1} end
end


declare は、変数を作る(宣言する)文で、 fun は関数を定義する文のようです。
上ので、変数 Fact を宣言して、変数 Fact に関数を入れる(束縛する)
と言う事らしいです(declare と fun をくっつけた省略記法でしょうか?)。
if は、文ではなく、式だそうです。
関数は、 {関数名 引数...} で定義したり、呼び出したりするみたいですね。
識別子(変数名、関数名)は、必ず英大文字で始まらなければらないようです。


Mozart は、 Linux や Mac OS X のような Unix 系の OS だけでなく、
Windows にも対応していて、 http://www.mozart-oz.org/ から
ダウンロードできますが、 Emacs も要るみたいです。

お手軽にインストールするには、 http://www.mozart-oz.org/ の
"Download" から "Windows Installers (95/98/ME/NT/2000/XP/Vista)" と
リンクをたどって、"Windows EXE" から Mozart のインストーラを、
更に、同じページのずっと下の "Additional Packages" のすぐ下の
"emacs" から Emacs のインストーラをそれぞれダウンロードして、
両方をインストールすれば良いようです。

ただ、上記の Emacs は最新の物ではない (バージョン 20.7 ?) ようですので、
自分で最新の Emacs を入れたり、既に Emacs を入れている人は、
環境変数 OZEMACS に Emacs の実行ファイルのフルパス名を設定すると
良いようです。

ちなみに、最初に実行した時、Windows ファイアウォールや、
ウィルスチェック系のソフトで "ozengine.exe" をブロックするか
聞かれた場合は、「ブロックしない」方を選んでください。


キー操作は、基本的に Emacs ですが、 Oz 専用のキーやメニューが
設定されます。


今日は、 Mozart をインストールしただけで、ほとんど触っていないので、
まだ余り分かってませんが、これから、ちょこちょこ触って
勉強していこうかなぁと思います。