nil と #f

4
前へ 1 ・・ 3 4
fukamachi @nitro_idiot

(defmacro when* (&body body) `(if (progn ,@body) nil)) とかすれば…ってそもそもスタイル上の問題だしなぁ

2010-10-26 16:20:17
Chaton Gauche @chaton_gauche

shiro: @nitro_idiot whenとformatの話はわからなくもないけれど、ちょっと特殊な例という気もする。formatしたい値が式になってたら、一度letで受けなくちゃならなくて、 http://bit.ly/a84aaK

2010-10-26 16:21:07
Chaton Gauche @chaton_gauche

shiro: 実際 (let ((var <式>)) (副作用 var) var) というのは非常によく出会うので、Gaucheでは (rlet1 var <式> (副作用 var)) と書けるようにしてしまった。 http://bit.ly/daUFpz

2010-10-26 16:22:03
Chaton Gauche @chaton_gauche

(び): そういえば when/ や unless/ は and的な動作するようにしたのを今頃思い出した http://bit.ly/cLZpX0

2010-10-26 16:22:05
Chaton Gauche @chaton_gauche

shiro: まあ何が特殊かは人によるから、そこが言語設計の難しいとこだけど。 http://bit.ly/d4KJUZ

2010-10-26 16:24:44
Nobuo Yamashita @nobsun

@golden_lucky う〜ん,一冊まるごとになってしまいそうな...さすがにそれはないか.

2010-10-26 16:33:45
専門性・売上・原稿 @golden_lucky

@nobsun 多値にも1章を割くので大丈夫です。あと継続の使いどころ!

2010-10-26 16:39:38
Chaton Gauche @chaton_gauche

shiro: kahuaはモナド使いまくりだからわかりにくい面もあるよな。ドキュメントの出力って意味では副作用だけど、実際の出力は式の評価時よりも後で起きてるから、単純に戻り値との関係で判断できない。 http://bit.ly/aQ4MTl

2010-10-26 17:55:04
山本和彦 @kazu_yamamoto

.@golden_lucky SICP の脚注で十分ではないですか? Haskeller からみたら、False と [] は別れていて当然ですね。

2010-10-26 20:39:06
専門性・売上・原稿 @golden_lucky

@kazu_yamamoto Haskellだと、関数をコーディングする前にプログラマが型を決めているので、とりあえず返す値に悩むことは原理的にない?

2010-10-27 10:46:06
専門性・売上・原稿 @golden_lucky

Schemerが「CLのnilうらやましい」というのは、「Haskellのボトムうらやましい」と同じかも。

2010-10-27 10:47:30
専門性・売上・原稿 @golden_lucky

Haskellでボトムが便利だと思うようなコードを書いたことがないので、あくまでも想像にすぎない。

2010-10-27 10:47:56
山本和彦 @kazu_yamamoto

.@golden_lucky ああ、値が不要な場合は、() を返すというのが決まっているので、悩むことはありません。

2010-10-27 10:57:57
山本和彦 @kazu_yamamoto

動的型付けがよいとする立場で、唯一説得力があるなぁと感じたのは、教育のため。コンパイルさえ通らないと、初心者は泣きそうになる。バグがあっても、とりあえず動くことが重要。動かして、いろいろな理解を深めて行く。

2010-10-27 11:08:41
山本和彦 @kazu_yamamoto

逆に言うと、初心者を脱したら、型に厳密な静的型付けの方がいいと思う。

2010-10-27 11:09:27
山本和彦 @kazu_yamamoto

0 以外は真になるプログラミング言語とかは、安全なプログラミングをするには論外だなぁ。

2010-10-27 11:10:23
山本和彦 @kazu_yamamoto

という訳で、僕は nil に複数の意味を持たせるのは、止めてほしいと思っています。

2010-10-27 11:11:35
山本和彦 @kazu_yamamoto

あと、重要なのは、プログラミングは書くよりも読む方が難しいってことです。書き手が便利だからという理由で、nil に複数の意味を持たせないでほしい。

2010-10-27 11:12:34
専門性・売上・原稿 @golden_lucky

とはいえ、プロトタイピングから実用状態まで一気に駆け抜けられるGaucheからそうやすやすと離れられないのであった :)

2010-10-27 11:35:38
前へ 1 ・・ 3 4