vallog
ring wandering
ラベル
LOL
の投稿を表示しています。
すべての投稿を表示
ラベル
LOL
の投稿を表示しています。
すべての投稿を表示
2010/09/23
先日書いた defmacro! がバグっていたので
›
先日書いたものがバグっていたので、修正しようとしましたが解決できず・・・。 vallog: LOL defmacro! バグは、defmacro! で可変長引数が取れないというものです。 例えば、 (defmacro! (sum . args) ... とした時に ar...
2010/09/15
LOL defmacro!
›
LET OVER LAMBDA Edition 1.0 の defmacro! を scheme(Gauche)で書きました。 vallog: LOL defmacro! 基本的に同じものですが、実験的に g! や o! を変更できるようにしています。 Un-Common...
2010/09/14
On Lisp のユーティリティをいくつか
›
いくつか Gauche で書きました。写経がてら。前回読んだ時にあまり書いてないので、揃えておいた方が良いなぁと。 ざっくり書いただけなので、動かないところがあるかもしれません。 今 LET OVER LAMBDA Edition 1.0 と On Lisp を再読して...
2010/09/09
syntax-rules, defmacro: define-cxr, define-cxr*
›
caaaar とか cadadadar などを定義するマクロ。 LET OVER LAMBDA Edition 1.0 にもありました。 scmlib.scm - Gauche/src - Code Search Recursive Expansions - Let Ove...
2010/09/08
syntax-rules: dlambda
›
今日は、Twitter のタイムラインで LET OVER LAMBDA Edition 1.0 の話題が出ていました。 私も読みましたが、詳細はすでに記憶の彼方です。。再読したいところです。 vallog: 読んだ「LET OVER LAMBDA Edition 1.0」...
2010/05/10
『Schemeのマクロは変数衝突を「自動的に回避する」』
›
Scheme:マクロ:CommonLispとの比較 Schemeのマクロは変数衝突を「自動的に回避する」と書きましたが、一体どうやって 回避してるんでしょうか。 ローカル束縛(arithmetic-ifにおける変数var)の衝突の回避については、 マクロ展開ルーチンがマクロが挿...
2010/04/24
LOL defmacro!
›
defmacro!。これを書いておかないと何も始まりませんね。 LET OVER LAMBDA Edition 1.0 は。 まだslimeの使い方がよくわかりません。C-c C-cはコンパイルで、C-x C-eがreplに読み込む、ということくらいでしょうか。その時、コー...
2010/04/13
LOL tree-leaves
›
これはtree-leaves%%までで十分だと思いましたが、どうなんでしょう。 予測できる使い方の範囲では、これが最も直感的で贅肉のない方法だと思う。 らしい。個人的には、むしろ直感的でなくなっているように思いますが・・・。 ところで、Gaucheで書くにあたり、何の気な...
2010/04/11
LOL flatten
›
これも LOL より(というより On Lisp より?)。Gaucheで書いてみましたが、これも探せばどこかにありそうですね。 fold-rightで書いてみましたが、大丈夫かな。なんか怪しいような気もする。もしかするとfoldでreverseな方が良いかな。いやfold-...
2010/04/10
LOL mkstr, symb, group
›
mkstr, symb, groupは Let Over Lambda で必要になるユーティリティ関数です。 On Lisp よりのものだそうです。 On Lisp は見事に積読中。 On Lisp --- ユーティリティ関数 Flatline ( On Lisp のPDF...
2010/04/06
defmacro: LOL nif
›
マクロを使えば、他の言語では全く不可能なことが可能になる。 --Doug Hoyte define-syntaxの書き方や仕組みも良くわかっていないのですが、取り合えずトライ。 define-syntaxの方はexprに副作用があっても1回しか評価されてない、ということで良...
defmacro: LOL nlet
›
マクロは、Lispが1つのプログラミング言語として有する唯一最大の強みであり、いかなるプログラミング言語においても唯一最大の強みである。 --Doug Hoyte 著者のLisp(のマクロ)マンセーっぷりがすごい。 (Gaucheで書いてみてます) Let Over La...
4 件のコメント:
2010/04/05
let-optionals*, define-values
›
クロージャを複数返すの見て、なるほど・・・と。 Gauche ユーザリファレンス: 6.16 制御 Gauche ユーザリファレンス: 4.10 定義 Gauche ユーザリファレンス: 10.7 srfi-11 - Let-values
2010/01/27
ダイナミックスコープ
›
ってこういうものだったんですか。 SBCL (defvar temp-special) (setq temp-special 1) (defun temp-special-returner () temp-spec...
›
ホーム
ウェブ バージョンを表示