■
ちょっとインタフェースを変えてベータ変換数を入力しなくてもいいようにした。
ついでにgithubにリポジトリ作って突っ込んでおく。
あと、elispでemacsの簡単なメジャーモードを作成
lambda.lmとか適当なファイルでラムダ式書いておいてbeta-modeにしてからC-cbとかC-cnでラムダ計算出来ます
http://github.com/sodeyama/lambda-calculation
しかし、githubでのリポジトリ作成簡単&親切誘導すぎわろた。
sourceforgeの30倍くらい楽。
;; beta-mode (defvar betabin "/home/sode/git/beta-calculation/beta") (defun beta-mode () (interactive) (setq major-mode 'beta-mode mode-name "beta mode") (setq beta-local-map (make-keymap)) (define-key beta-local-map "\C-cb" 'beta-reduction) (define-key beta-local-map "\C-cn" 'beta-reduction-show-native-tree) (use-local-map beta-local-map)) (defun beta-reduction () (interactive) (beta-reduction-inner "false")) (defun beta-reduction-show-native-tree () (interactive) (beta-reduction-inner "true")) (defun beta-reduction-inner (is_tree) (save-excursion (let ((in_str (buffer-string))) (start-process "beta-process" "*beta-buffer*" betabin in_str is_tree) (let ((buffer (get-buffer "*beta-buffer*"))) (switch-to-buffer-other-window buffer) (goto-char (point-max))))))