Lispの整形・lint・LSPを1つにまとめたsift、92のルールで3方言を扱う

Sift: LSP, Lint, Format Lisp, Scheme and Emacs Lisp

siftはScheme、Emacs Lisp、Common Lispの3方言に対応するフォーマッタ、リンタ、言語サーバを1つの実行ファイルにまとめたツール。Lispをソース位置付きのフォーム木として読み、整形後もコメントや#;データコメントをバイト単位で保持する。92のルールはそれぞれ名前・コード・根拠を持ち、sift explainでプログラムから直接読み出せる。LSPはEglotやNeovimなど任意のクライアントに同じ診断と修正を届ける。

Lossless rewriting is the whole of the argument, and the rest follows from it: a diff whose hunks are the change, a fix that replaces one range, a rule that can be silenced without editing the code it objects to.
  1. vegnus

    Schemeを趣味で学んでいる者として、ありがとう

  2. stackghost

    いいね!Lispのツールが進歩しているのは嬉しいけど、たった1つのツールのためにguileをインストールしないといけないのは、一般的なLisperにとってはおそらく敷居が高いだろうね。

    Sly/Slimeとの相互運用はどうなってるの?

  3. sargstuff

    何だって!?BLC[0] PIC[1]のフォーマットがサポートされてないのか?:-)(フォーマット例はPrograms(BLC)セクション[0]を見てくれ。)

    -------

    [0] : blc : https://esolangs.org/wiki/Binary_lambda_calculus

    [1] : PIC : https://en.wikipedia.org/wiki/PIC_(markup_language)

この日のほかの記事

2026-11-13