- Xcodeをインストール。DVDからなり、ADCのサイトなりから。最新版は10.6用なので古いのをインストール。
- Mac Portsのインストール。
/opt/local/bin
にPATH
を通す。Mac Portsの準備が済んでいる人もsudo port -v selfupdate
する。 - GHCはportsからインストールすると古くて駄目なので、GHC download pageよりバイナリパッケージを導入。
sudo port install hs-cabal
して、sudo cabal update
して、~/.cabal/bin
にPATH
を通す。sudo port install darcs
sudo cabal install happy
して、sudo cabal install alex
sudo cabal install Agda-executable
cd ~/.cabal/bin
して、./agda-mode setup
- emacsは薦められるままにAquamacsを導入する。
- 下記を~/.emacsに追加。
(setq load-path (cons "~/.cabal/share/Agda-2.2.4/emacs-mode/" load-path))
(autoload 'agda2-mode "agda2-mode" "Major mode for Agda2 files" t)
(unless (assoc "\\.agda" auto-mode-alist)
(setq auto-mode-alist
(nconc '(("\\.agda" . agda2-mode)
("\\.alfa" . agda2-mode)) auto-mode-alist))) - Aquamacsを起動し、
~/test.agda
というファイルを作成して、
module test where
data Bool : Set where
true : Bool
false : Bool
と書く(true, falseの前のインデント必須。単語や:の前後に空白があるのも確認。)C-c C-l
で入力内容が処理され、文字が色分けされたら、agda2-modeが動いている。
---
追記:
~/.emacs
について念のため全部掲載。haskell-modeの設定も重要らしいので。
(setq load-path (cons "‾/.cabal/share/Agda-2.2.4/emacs-mode/" load-path))
(autoload 'agda2-mode "agda2-mode" "Major mode for Agda2 files" t)
(unless (assoc "¥¥.agda" auto-mode-alist)
(setq auto-mode-alist
(nconc '(("¥¥.agda" . agda2-mode)
("¥¥.alfa" . agda2-mode)) auto-mode-alist)))
(setq load-path (cons "‾/lib/elisp/haskell" load-path))
(setq auto-mode-alist
(append auto-mode-alist
'(("促促.[hg]s$" . haskell-mode)
("促促.hi$" . haskell-mode)
("促促.l[hg]s$" . literate-haskell-mode))))
(autoload 'haskell-mode "haskell-mode"
"Major mode for editing Haskell scripts." t)
(autoload 'literate-haskell-mode "haskell-mode"
"Major mode for editing literate Haskell scripts." t)
(add-hook 'haskell-mode-hook 'turn-on-haskell-decl-scan)
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
(add-hook 'haskell-mode-hook 'turn-on-haskell-indent)
(add-hook 'haskell-mode-hook 'turn-on-haskell-ghci)
(setq haskell-literate-default 'latex)
(setq haskell-doc-idle-delay 0)
(load-file (let ((coding-system-for-read 'utf-8))
(shell-command-to-string "agda-mode locate")))
No comments:
Post a Comment