Common Lisp、SchemeをはじめとするLisp族全般のスレです
■前スレ
Lisp Scheme Part39
http://peace.2ch.net/test/read.cgi/tech/1408017352/
■テンプレ
ttp://wiki.fdiary.net/lisp/
■関連スレ
【入門】Common Lisp その11【質問よろず】
http://peace.2ch.net/test/read.cgi/tech/1411307361/
【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
http://peace.2ch.net/test/read.cgi/tech/1272469779/
【Lisp】プログラミング言語 Clojure #3【JVM】
http://peace.2ch.net/test/read.cgi/tech/1380333808/
【魔法】リリカル☆Lisp【言語】
http://peace.2ch.net/test/read.cgi/tech/1183396621/
Lisp Scheme Part40 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2015/03/16(月) 13:45:52.92ID:EEYZoZ1i
163デフォルトの名無しさん
2015/07/22(水) 10:24:48.10ID:4IMBgQFd >>161
マクロなら可能だがdefineでは定義不可能なケースを上げておく
defineで定義された関数(procedure)の適用では、まず全ての引数が評価されてからその結果が関数bodyに渡されて関数の結果が決まる。
もし、全ての関数を評価せずに前から必要な分だけ評価する関数を書きたい場合、defineでは無理。その場合はdefineは-syntaxなどをつかってマクロを定義することになる。
マクロは
>>162が述べているように第一段階としてSchemeのS式を生成し、第二段階でその生成されたS式を評価するわけだが、第一段階ではマクロの引数は評価されない点が重要。
それによって、defieとは異なり一部の引数をのみ評価することが可能となる。
or関数はその一例だな
もしdefineでmy_orを定義しようとすると全ての引数を評価するという無駄な関数となるわけだ。
もしaがtrueなら
(or a b c d e)でb以下は評価不要
が(define my_or ……)とすると
aからeまでを必ず評価してしまう
マクロなら可能だがdefineでは定義不可能なケースを上げておく
defineで定義された関数(procedure)の適用では、まず全ての引数が評価されてからその結果が関数bodyに渡されて関数の結果が決まる。
もし、全ての関数を評価せずに前から必要な分だけ評価する関数を書きたい場合、defineでは無理。その場合はdefineは-syntaxなどをつかってマクロを定義することになる。
マクロは
>>162が述べているように第一段階としてSchemeのS式を生成し、第二段階でその生成されたS式を評価するわけだが、第一段階ではマクロの引数は評価されない点が重要。
それによって、defieとは異なり一部の引数をのみ評価することが可能となる。
or関数はその一例だな
もしdefineでmy_orを定義しようとすると全ての引数を評価するという無駄な関数となるわけだ。
もしaがtrueなら
(or a b c d e)でb以下は評価不要
が(define my_or ……)とすると
aからeまでを必ず評価してしまう
164デフォルトの名無しさん
2015/07/22(水) 10:26:49.67ID:TPXSOrgT■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 立憲・野田代表が主張 台湾有事答弁で「質問者批判は筋違い」「答弁がおかしい」「高市総理迎合のネット世論は危険」 [♪♪♪★]
- 【速報】 植田日銀総裁 「円安進行が物価高を起こしている」 ★2 [お断り★]
- 【存立危機】高市総理 南アフリカに出発 G20サミット出席へ 日中の接触があるかが焦点… [BFU★]
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★11 [BFU★]
- 【🍝】「偽カルボナーラ」にイタリア激怒、パンチェッタの使用は「犯罪」と非難 ★2 [Ailuropoda melanoleuca★]
- デヴィ夫人、悪化の日中関係に言及「戦いましょう」「日本の経済人よ、日本総力で戦えば勝てるはず」 [muffin★]
- 【鈴木早苗】お米券おひとり様3000円に閣議決定 [993451824]
- お前らなんでtemu使わなくなったの?
- 7大、長野県の名物「信州そば」「牛乳パン」「おやき」「りんご」「エプソン」「新海誠」
- 🏡なにゃこのスリャ!🐧⚡🏡
- ジャップランドにネトウヨがこんなに多いとは想わなかったよな🥺 [929293504]
- 麻生太郎(85)「国民は台湾有事で戦う覚悟が求められる」 [961870172]
