3

とても簡単なスキーム関数です

(define member?
  (lambda (a lat)
    (cond
      ((null? lat) #f)
      (else (or (eq? (car lat) a)
                (member? a (cdr lat))
                ))
      )
    )
  )

ただし、 vim で,dまたは,Fを押してこの関数を実行すると、エラーが発生します。

/home/oo/tmp/t.scm:64 読み取りエラー: #\F のディスパッチ関数が定義されていません

行: 4、列: 21、ファイル位置: 64

ストリーム: #<SB-SYS:FD-STREAM for "file /home/oo/tmp/t.scm" {AC84DA9}>

ここに画像の説明を入力

4

1 に答える 1

7

Chrisは、CommonLispスワンクサーバーでSchemeコードを使用しようとしたことをすでに指摘しています。Scheme swankサーバーを実行する必要があります(たとえばswank-mit-scheme.scm、Slimvにも含まれています)。通常、Slimvは、を調整することなく、LinuxでMITスキームを自動検出する必要があります.vimrc。自動検出が正しく機能するには、MITスキームがインストールされており、schemeコマンドが使用可能である必要があります。

Slimv関連の設定をから削除することをお勧めします.vimrc。次に、Vimに.scmをロードし、次のコマンドを入力します。

:echo SlimvSwankCommand()

Schemeが自動検出された場合、Scheme swankサーバーを実行するコマンドが出力されます(swank-mit-scheme.scm出力で検索してください)。自動検出が失敗した場合は、schemeコマンドがないか、Slimvが検出しませんでしたswank-mit-scheme.scm。この場合、Schemeswankサーバーを実行するコマンドをSlimvに指示する必要があります。あなたはあなたの:に同様のコマンドを追加することによって行うことができ.vimrcます

let g:slimv_swank_cmd = '! xterm -e scheme --load /your-path-to/slime/contrib/swank-mit-scheme.scm &'

ただし、これは自動検出が失敗した場合にのみ実行してください。さらにサポートが必要な場合は、お気軽にご連絡ください。私はSlimvの作者です。

于 2012-07-04T09:29:34.847 に答える