静岡のhaskellerはemacsを使う

11
静岡の Haskellerは Emacsを使う @kzfm

Upload: kazufumi-ohkawa

Post on 10-May-2015

4.288 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: 静岡のHaskellerはEmacsを使う

静岡の Haskellerは Emacsを使う

@kzfm

Page 2: 静岡のHaskellerはEmacsを使う

Haskell Platform & Emacs24

インストール済みですね?

Page 3: 静岡のHaskellerはEmacsを使う

まだのヒトは今すぐ入れましょう

!   Haskell Platform 2012.4.0 !   http://www.haskell.org/platform/

!   Emacs 24 !   http://www.gnu.org/software/emacs/

!   OSXでコンパイルする場合 !   http://sakito.jp/emacs/emacs24.html

Page 4: 静岡のHaskellerはEmacsを使う

Haskell環境の設定

cabal install virthualenv hlint ghc-mod

!   仮想環境(依存関係で悩まないために)

!   シンタックスチェッカー(快適なコーディング)

Page 5: 静岡のHaskellerはEmacsを使う

Emacs !   Flymakeでリアルタイム文法チェック !   Emacs内でのghci実行 !   自動補完

M-x list-packages iで選んでxで実行 (flymake,flymake-cursor, haskell-mode,ghc,auto-complete)

Page 6: 静岡のHaskellerはEmacsを使う

.emacs.d/init.el (autoload 'ghc-init "ghc" nil t) (add-hook 'haskell-mode-hook '(lambda ()

(ghc-init) (local-set-key "\C-j" (lambda () (interactive)(insert " -> "))) (local-set-key "\M-j" (lambda () (interactive)(insert " => "))) (local-set-key "\C-l" (lambda ()(interactive)(insert " <- "))) ))

(defadvice inferior-haskell-load-file (after change-focus-after-load) "Change focus to GHCi window after C-c C-l command" (other-window 1))

(ad-activate 'inferior-haskell-load-file)

;; auto-complete (require 'auto-complete) (global-auto-complete-mode t)

(define-key ac-complete-mode-map "\C-n" 'ac-next) (define-key ac-complete-mode-map "\C-p" 'ac-previous)

;; http://d.hatena.ne.jp/TakashiHattori/20120629/1340942555 (add-hook 'emacs-startup-hook

(function (lambda () (require 'auto-complete-config) (ac-config-default))))

Page 7: 静岡のHaskellerはEmacsを使う

ACによる自動補完

Page 8: 静岡のHaskellerはEmacsを使う

ghc-mod+Flymake

Page 9: 静岡のHaskellerはEmacsを使う

C-c C-cでhlint

Page 10: 静岡のHaskellerはEmacsを使う

C-c C-lでghci

Page 11: 静岡のHaskellerはEmacsを使う

Let’s Enjoy !

神はλに似せて静岡県をつくられた 天地創造(静岡版)より