[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/01 00:18 / Filesize : 189 KB / Number-of Response : 847
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part18



1 名前:デフォルトの名無しさん [2007/08/12(日) 21:38:15 ]
過去スレ
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html

115 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 08:18:04 ]
andやorって
関数で定義したほうがapply出来たりして柔軟性が増すと思うんですが、
R5RSだと7.3でsyntax-rulesで定義がされてます。
関数で定義するとなんか問題が発生したりするんでしょうか。


116 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 08:29:19 ]
関数にしちゃうと、必ず全引数評価しちゃうから困る。
(and (pair? foo) (car foo))
みたいなのができない。

117 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 08:34:05 ]
どう違うかぐらい自分で確かめなさい

118 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 09:10:38 ]
>>115
そこまでやるなら if や define も関数にしたら如何?w

119 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 09:26:33 ]
andにしろifにしろ
陽にlambdaを渡すようにすれば関数でもいいわけだよな
果てしなく面倒くさいが

120 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 09:48:25 ]
Haskell みたいにデフォルトで遅延評価にしちゃえば、関数で問題ないんだけどね。

>>119
その場合、各引数を lambda で包んでその関数に渡すようなマクロが欲しくなるかもw

121 名前:デフォルトの名無しさん mailto:sage [2007/08/26(日) 13:16:00 ]
スペシャルフォームじゃだめなん?


122 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 00:40:10 ]
スッペシャルジェネレーションのほうがすき

123 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 14:14:20 ]
デフォルトで遅延評価にしちゃえばマクロは用なしになるのかな?
現在のマクロは
Schemeだと名前呼び+レキシカルスコープの関数
CLだと名前呼び+ダイナミックスコープの関数と等価?



124 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 15:00:15 ]
r6rsキタ

125 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 16:25:14 ]
へー、批准されたんだ…

126 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 17:04:59 ]
scheme構文もCLマクロもファーストクラスじゃないから関数と等価ではないかな
R6+RSで構文オブジェクトもファーストクラスにならないかな

ところでR6RSどこにキタの?

127 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 17:33:57 ]
単純に、関数で setq って書けないよね。
引数を評価しないでシンボルのまま扱う手段が必要で、遅延評価だけじゃ足りない。

128 名前:デフォルトの名無しさん mailto:sage [2007/08/29(水) 20:33:34 ]
LISP 1.5にはマクロは無く、代わりにFSUBR/FEXPRという引数を評価しない関数があった。
評価すべき部分(例えば setq の第2引数みたいなの)は明示的に eval を呼ぶわけだが、
スコープの関係とかぐちゃぐちゃになって使いにくかったらしい。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<189KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef