Lispのぶら下がり括弧嫌ですね — #:g1

Posted 2017-02-11 15:30:17 GMT

Lispのぶら下がり括弧嫌ですね。
コッカをぶら下げてしまう人は、何故ぶら下げてしまうのか。

恐らく、括弧の対応が取れないので、行で対応を取っているのでしょう。
Lisp用のエディタを使っていないからだと思いますが、そこで行で対応を担保しつつ括弧も揃える方法を考案しました。

⏜
defun fib (n)
⏜
if (< n 2)
n
(+ (fib (1- n))
   (fib (- n 2)))
⏝
⏝

どうでしょうこれ。

ふざけた感じではありますが、eval-whenだと案外実用できるかも。

⏜
eval-when (:compile-toplevel :load-toplevel :execute)

(defun foo (x) x)

(defun bar (x) x)

(defun baz (x) x)

設定方法(Common Lisp)

(set-macro-character #\⏜
                     (lambda (srm chr)
                       (declare (ignore chr))
                       (read-delimited-list #\⏝
                                            srm
                                            T)))

(set-syntax-from-char #\⏝ #\))


HTML generated by 3bmd in LispWorks 7.0.0

comments powered by Disqus