Scheme
Quack (Scheme 支援 for Emacs)
Quack は Emacs 用の高機能な Scheme モードです。 Scheme 書く時は大抵コレ使ってます。 (PLT Scheme だけは附属のエディタ使いますが)
- 様々な Scheme 処理系に対応(Gauche もおっけー)
- マニュアルを読む機能がある
- SRFI を読む機能がある
- 見た目もそこそこ。lambda を λ と表示したりとか
- インストールが簡単(メニューからマウスでほとんど選べる)
rlwrap による readline 支援 for Gauche
シンプルが信条の Scheme にあって,正規表現を標準装備,ライブラリも結構充実と,何故か Common Lisp より快適な処理系 gauche だが,まだ行編集やコマンドヒストリ機能が無い.Emacs から使う時はあまり困らないのだが,やはり単独で動かすときは行編集機能くらいは欲しい…というわけで,上述の cmucl の場合と同様に readline wrapper プログラム rlwrap を使ってみる.やっぱインタラクティブに使う時はこれくらいは欲しい.以下,gauche 用の補完リストの作り方.
$ gosh -E"use gauche.interactive" -E"apropos #/.*/" -Eexit |tr "(" "\n" |tr -d " (" |sort |uniq >gosh_symbols1 $ cat >script.awk BEGIN {show=0} /^C.[1-4]/ {show=1} /^Table of Contents/ {show=0} { if (show==1) print $0} $ awk -f script.awk refj |grep -e "^ [^ (]" |grep -v "^ Index Entry" |awk '{print $1}' |tr -d " " |sort |uniq >gosh_symbols2 $ cat gosh_symbols1 gosh_symbols2 |sort |uniq >~/.gosh_completions
gosh_symbols1 をそのまま .gosh_completions にするだけで十分な気がしてきた.とりあえず行編集とヒストリ機能が装備されて快適.