「 計算機プログラムの構造と解釈 第二版 」(通称 SICP)を読むにあたって、schemeの実行環境を準備する必要があったので、macのvimでプログラムが実行できるまでの手順を残します
有名なので本自体の説明は省きますが、SICP自体は以下の通りオンラインでも公開されています. -> 非公式PDF版SICPの全訳を公開しました
SICPはLISPの方言であるschemeを使った本ですが、macではracketを使った方が楽そうだったのでそちらでsetupをします(scheme互換なのでSICPをやる上では問題無し)
前提
以下がインストールされており利用できる前提です.
- homebrew : racketインストールに利用
- vim + NeoBundle : vimでracketのソースを弄るのに利用
racketインストール
macではracketは既にbrew caskに入ってるのでコマンド一発
$ brew cask install racket
==> Downloading http://mirror.racket-lang.org/installers/6.2/racket-6.2-x86_64-macosx.dmg
######################################################################## 100.0%
==> Symlinking App Suite 'Racket v6.2' to '/Applications/Racket v6.2'
==> Symlinking Binary 'drracket' to '/usr/local/bin/drracket'
==> Symlinking Binary 'gracket' to '/usr/local/bin/gracket'
==> Symlinking Binary 'gracket-text' to '/usr/local/bin/gracket-text'
==> Symlinking Binary 'mred' to '/usr/local/bin/mred'
==> Symlinking Binary 'mred-text' to '/usr/local/bin/mred-text'
==> Symlinking Binary 'mzc' to '/usr/local/bin/mzc'
==> Symlinking Binary 'mzpp' to '/usr/local/bin/mzpp'
==> Symlinking Binary 'mzscheme' to '/usr/local/bin/mzscheme'
==> Symlinking Binary 'mztext' to '/usr/local/bin/mztext'
==> Symlinking Binary 'pdf-slatex' to '/usr/local/bin/pdf-slatex'
==> Symlinking Binary 'plt-games' to '/usr/local/bin/plt-games'
==> Symlinking Binary 'plt-help' to '/usr/local/bin/plt-help'
==> Symlinking Binary 'plt-r5rs' to '/usr/local/bin/plt-r5rs'
==> Symlinking Binary 'plt-r6rs' to '/usr/local/bin/plt-r6rs'
==> Symlinking Binary 'plt-web-server' to '/usr/local/bin/plt-web-server'
==> Symlinking Binary 'racket' to '/usr/local/bin/racket'
==> Symlinking Binary 'raco' to '/usr/local/bin/raco'
==> Symlinking Binary 'scribble' to '/usr/local/bin/scribble'
==> Symlinking Binary 'setup-plt' to '/usr/local/bin/setup-plt'
==> Symlinking Binary 'slatex' to '/usr/local/bin/slatex'
==> Symlinking Binary 'slideshow' to '/usr/local/bin/slideshow'
==> Symlinking Binary 'swindle' to '/usr/local/bin/swindle'
🍺 racket staged at '/opt/homebrew-cask/Caskroom/racket/6.2' (22396 files, 477M)
- macOS BigSurの場合
brew install --cask racket
各種racketのコマンド類は上記の通り/usr/local/bin
にsymlinkが張られるので、PATHを通してあげれば後は通常通り使える.
動作確認
$ racket -v
Welcome to Racket v6.2.
実行
アプリケーション -> Racket v6.2 -> DrRacket.app で起動
コード部分に以下のコマンド貼り付けて、下のプロンプトにメッセージが表示されればOK.
#lang racket
;; Print the Greek alphabet
(for ([i (in-range 26)])
(display
(integer->char
(+ i (char->integer #\a)))))
vim
GUIだと面倒なので、いつも使ってるvimでracketのシンタックスハイライト等されるように、NeoBundleでvimrcに以下を追加する.
NeoBundle 'wlangstroth/vim-racket'
後はvim上でNeoBundleInstall
してinstallして終了.
$ vim test.rkt
(vimで上記ソースを追加)
$ racket test.rkt
abcdefghijklmnopqrstuvwxyz