22 Feb 2014, 01:00

マルチパラダイム言語Ozの開発環境MozartをインストールしてHelloWorldするまで

edXでコンピュータプログラミングのパラダイムについての学習を始めた。

[//www.youtube.com/embed/D1q2dCNGDOE]

学習のための言語として、コースではOzというマルチパラダイムな言語を利用する。

この記事では、Ozとその開発環境であるMozartの導入をメモする。

インストール

事前準備

<div id="text-1-1" class="outline-text-3">
  <p>
    まずは、以下をインストール
  </p>

  <ul class="org-ul">
    <li>
      tk-dev
    </li>
    <li>
      emacs
    </li>
  </ul>

  <pre><code>sudo apt-get install tk-dev

>sudo apt-get install emacs

Mozart2をインストール

<div id="text-1-2" class="outline-text-3">
  <p>
    以下からバイナリを落とす。
  </p>

  <ul class="org-ul">
    <li>
      <a href="http://sourceforge.net/projects/mozart-oz/files/v2.0.0-alpha.0/">Mozart-Oz Programming System &#8211; Browse /v2.0.0-alpha.0 at SourceForge.net</a>
    </li>
  </ul>

  <p>
    githubに開発版もあるのでlinkをはっておく。
  </p>

  <ul class="org-ul">
    <li>
      <a href="https://github.com/mozart/mozart2#downloads">https://github.com/mozart/mozart2#downloads</a>
    </li>
  </ul>

  <p>
    解凍して、適当なところに配置。その後binディレクトリにパスを通す。ここでは、.zshenvに以下を追記
  </p>

  <pre><code>export PATH=/opt/mozart/bin:$PATH

  <p>
    端末から$oz と起動してemacsが起動すればOK. $oz -nwで端末から開ける。
  </p>
</div>

Hello World

おきまりのHello Worldはこんな感じ。

{Browse 'Hello World'}

この行を選択して、M-x oz-feed-regionを実行すると、ブラウザが立ち上がり、Hello Worldが表示される。

oz-mode

Emacs環境のカスタマイズ。以下のようなショートカットが使えるらしいが、自分の環境ではうごかない。

C-. C-lFeed current line現在行をフィードする
C-. C-rFeed selected region選択範囲をフィードする
C-. C-bFeed whole buffer全バッファをフィードする

ということで、別のショートカットを割り当てた。

(add-hook 'oz-mode-hook
  (lambda () 
    (define-key oz-mode-map "\C-c\C-b" 'oz-feed-buffer)
    (define-key oz-mode-map "\C-c\C-l" 'oz-feed-line))
    (define-key oz-mode-map "\C-c\C-r" 'oz-feed-region)))

すべてのショートカットは以下。

環境変数OZEMACSに利用するemacsが設定できるらしい。 しかし、emacsclientは設定できなかった。

ドキュメント

日本語の情報がすくないけど、以下のベージが参考になる。

参考書はこれしか知らない。