LoginSignup
21
21

More than 1 year has passed since last update.

macでscheme(racket)コンパイル環境を構築する

Last updated at Posted at 2015-07-30

計算機プログラムの構造と解釈 第二版 」(通称 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 で起動

スクリーンショット 2015-07-30 15.33.48.png

コード部分に以下のコマンド貼り付けて、下のプロンプトにメッセージが表示されれば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
21
21
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
21
21