coursera で Programming Languages , PartB を受講し始めた。

開発環境で DrRacket(Racket をインストールするとついてくる開発環境)が指定される のだけれども、Emacs Love な自分はどうしても Emacs からやりたかったので、 Emacs で Racket 開発環境を構築した。

環境

  • Ubuntu 16.04 LTS
  • Racket v6.3

Racket のインストール

sudo apt-get install racket

これで /usr/bin/配下に racket がインストールされる。

優れた IDE の条件

優れた IDE が備えるべき機能は以下.

  • シンタックスハイライト/ インデント
    • racket-mode, aggressive-indent
  • 検索・置換 iedit, multiple-cursors, helm-ag, helm-swoop
  • タグジャンプ racket-visit-definition
  • コード補間
    • auto-complete
    • tab で complete
  • エラーチェック
    • flycheck
  • インタープリタ・デバッカ racket-repl

racket-mode

Racket の開発環境は、24.2 Emacs によると

  • racket-mode
  • Quack
  • Geiser

などがある。

今回は、新しめの racket-mode を利用することにした。 インストールは M-x el-get-install でした。

(require 'racket-mode)
;; tab で補間
(setq tab-always-indent 'complete)

aggressive-indent

賢い indent-mode

names package に依存しているので, require ‘names してからインストールしないとおかしくなる.

(add-hook 'racket-mode-hook #'aggressive-indent-mode)

smartparens

smart + parens カッコ移動を楽々。

(require 'smartparens-config)

auto-complete-mode

補間

(require 'auto-complete)
(add-to-list 'ac-modes 'racket-mode)

RainbowDelimiters

かっこの深さに応じて色付けしてくれる.

(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)

flycheck

エラーチェック

(require 'flycheck)
(add-hook 'after-init-hook #'global-flycheck-mode)

quickrun

ファイルを実行できる。

quickrun は最近 Racket に対応したようだ。

(require 'quickrun)

参考 URL