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

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

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

インストール

事前準備

まずは、以下をインストール

  • tk-dev
  • emacs

sudo apt-get install tk-dev sudo apt-get install emacs

Mozart2をインストール

以下からバイナリを落とす。

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

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

export PATH=/opt/mozart/bin:$PATH

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

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は設定できなかった。

ドキュメント

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

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

  • コンピュータプログラミングの概念・技法・モデル - セイフ・ハリディ

海外のページが詳しい。

環境

  • Linux Mint 16