1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SICPのSchemeとTAPLのOCamlを使うために

Last updated at Posted at 2019-04-29

Windows Subsystem for Linux

Harold Abelson,Gerald J. Sussman,およびJulie Sussmanによる共著「計算機プログラムの構造と解釈」(#sicp)とBenjamin C. Pierceによる著書「型システム入門」(#tapl)を読むには,本文のコードを試しながら勉強したいということから,それぞれ関数型プログラミング言語として知られているSchemeとOCamlを実行する環境をWindows 10で構築できるようにしてみた記録です。

これらの著書でプログラミングの基礎理論(というか,哲学まで含めて)を学ぶことができそうです♪

まずは,Windows Subsystem for Linuxの機能を有効にします。

[スタートボタン]を右クリックして,「アプリと機能」から画面右側の「プログラムと機能」を開きます。
(「プログラムと機能」のリンクが見えないときは,「アプリと機能」の画面を最大化してください)

ファイル_001.png

「Windowsの機能の有効化または無効化」の設定で,「Windows Subsystem for Linux」をチェックして有効化してください。

ファイル_001 (1).png

その後,Windowsの指示に従ってシステムを再起動したら,[スタート]から「Microsoft Store」を開き,右上の検索窓で「Ubuntu」と検索します。

ファイル_001 (4).png

その中から「Ubuntu」の最新版を選択して,そのままインストールしてください。

ファイル_001 (5).png

ここまでの手順は,以下のリンク先の情報が役に立ちます:

Scheme

ここからは,Ubuntuを起動してLinuxの操作で進めていきます。

次のコマンドを実行して,「計算機プログラムの構造と解釈」(#sicp)向けにSchemeをインストールします。
その際,入力を求められたタイミングで,Ubuntuの導入時に設定したパスワードを入力します。
(入力したパスワードの文字列は表示されません)

Schemeのインストール
$ sudo apt install mit-scheme

mit-scheme.png

インストールが終了したら,コマンド入力画面に戻ります。
「scheme」とコマンドを入力すると,Schemeのインタプリタ環境を起動することができます。

Schemeの起動
$ scheme

scheme起動.png

Scheme上のコマンドプロンプトから,Schemeの文法に沿ってコマンドを入力してください。
いろんなコードを試してみることができます。

scheme_演算.png

**(exit)**と入力してschemeを終了します。

Schemeの終了
]=> (exit)

image.png

終了して良い場合は,最後に「y」と答えてください。

OCaml

次は,「型システム入門」(#tapl)向けに,OCamlをインストールします。

OCamlのインストール
$ sudo apt install ocaml

image.png

OCamlの起動
$ ocaml

image.png

OCaml上のコマンドプロンプトから,OCamlの文法に沿ってコマンドを入力してください。

**exit 0;;**と入力してOCamlを終了します。

OCamlの終了
# exit 0;;

image.png

「型システム入門」に掲載されているコードを試すには,Benjamin C. PierceのWebサイトに従って必要なファイルをダウンロードしてコンパイルする必要があります。

例えば,arithの実装を試すには,以下のような手順となります。

まず,著者のWebページからarith.tar.gzをダウンロードします。

通常,ダウンロードされたファイルはWindowsのダウンロード(Downloads)フォルダに保存されますので,Ubuntuからアクセスできるホームディレクトリにコピーします。

arithのコピー
$ cp /mnt/c/Users/KICS17/Downloads/arith.tar.gz ~

arith.tar.gzはgzipによって圧縮されたアーカイブ形式のファイルですので,tarコマンドでディレクトリ上に元のファイル群を展開します。

arithの展開
$ tar -xzvf arith.tar.gz

image.png

なお,cdコマンドは,指定されたディレクトリ(ここでは,arith)に移動するものです。

もし,makeコマンドがインストールされていなければ,ここで追加します。

arithの展開
$ sudo apt install make

image.png

makeコマンドで,必要なファイルのコンパイルやリンクをして,実行ファイルを生成します。

makeコマンドによるコンパイル
$ make

image.png

最後に,test.fを実行します。

test.fの実行
$ ./f test.f

image.png

なお,test.fの内容は,以下のとおりです。

test.f
/* Examples for testing */

true;
if false then true else false; 

0; 
succ (pred 0);
iszero (pred (succ (succ 0))); 

これで,「計算機プログラムの構造と解釈」と「型システム入門」を読み進めていく準備が整いました!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?