lisp

Lua の多値は、Common Lisp の多値に近い lisp

Lua の多値は、Common Lisp の多値に近い

Common Lispでは、values を使うと多値を返すことができます。多値というものはCommon Lispで始めて知りました。多値を返すのは簡単ですが、多値を受け取る時にちょっと面倒です。 (defun get-multiple-values () (values 1 "second…
デバッグ時のprint文挿入 lisp

デバッグ時のprint文挿入

どうせprintfデバッグしかしないんだから、 tapは便利かも - ボクノス tapの方向性とはどんどんずれていきますが、common lispのマクロを使う方法の場合。 長いS式の値の場合、(p の閉じカッコ入力するのが面倒だと思ったので、デバッグ用にprintしたいS式の前に、#? を書くと直…
コンパイラコンパイラでLisp風計算機 lisp

コンパイラコンパイラでLisp風計算機

自分で処理系を作るなんてことは考えたことが無かったのですが、先日のエントリに頂いたコメントで、seagullさんに、「Lisp処理系は、技術者なら一度は作ってみることをおすすめしますよ。」と勧められたので、ちょっと考えて(妄想して)みました。 昔、処理系とか関係なく単純に興味を持ってlex yacc…
S式による思考 free

S式による思考

Lispの勉強のためにLispの処理系を作ってみるという方法論が一般化しつつあるようですが、Lisp処理系を作ることから学べる要素と、Lispを使いながら学べる要素は同じじゃない。 S式で思考するということを知るためには、Lispを使わないと始まらないのでは? と処理系を作ったことがない俺がつぶやい…
common lisp defvarとdefparameterの違い lisp

common lisp defvarとdefparameterの違い

http://d.hatena.ne.jp/smeghead/20080207/lisp 関連 id:ibazaさんのコードでは、変数宣言にdefvarが使われていました。自分のコードは、defparameterで変数宣言してます。あまり、違いを気にしていなかったんですが、hyperspecを調べて…