Simple Scheme interpreter in Perl - Life is very short後悔していない。
Simple Scheme interpreter in Perl perl , scheme | 21:52 昨日 Brainfuck を書いてみたので、今日は Scheme( Lisp )の 処理...
http://d.hatena.ne.jp/syohex/20111116/1321447925
mattn/lisper-vim - GitHub見ての通り、vimscriptだけでlispエンジンが動きます。syohexさんのはスクリプト的でしたが、autoloadでしかもインスタンスを起こせるのでLISPマシンとして使えます。
This vim plugin provide lisp environments for vimmers.
https://github.com/mattn/lisper-vim
使い方は何個かあってまず
:echo lisper#eval('(+ 1 2 3 4 5)')
ワンライナーで書けます。ただこれは毎回エンジンを起動させてるだけです。次にエンジンを作る方法。
:let engine = lisper#engine()
:echo engine.eval("(+ 1 2 3 4 5)")
15
:echo engine.eval("(+ 1 (length (quote abc)))")
4
一応、エンジン1つに対して環境を一つ持っているので、エンジン2個同士が干渉する事は無い様にしたつもりです。lambdaも書けるし、defineも出来るので
(define myadd (lambda (a b) (+ a b)))
(myadd 10 20)
こんな風にエンジン内に関数作る事も出来ます。で、やっぱりReplだよねーって事で
:LisperRepl
と起動すると、vimのコマンドラインでlispが出来る様になります。楽しいですね!良かったら遊んで下さい。lispの仕様はあまり詳しくないので、間違ってたら教えて下さい!
今後はこのlispから別のvimscriptが呼べたら楽しいなーとか思ってます。