nil と #f

4
Nobuo Yamashita @nobsun

@golden_lucky SICPもnilがあったとおもわれ,scmにはその辺りを吸収するライブラリがついてたような...すべて,あやふやな記憶...

2010-10-26 15:06:43
Kiyoshi Mizumaru @kmizumar

これはいつもの内輪もめw 外敵と闘うときはLISP族として一致団結するので問題ないのですよ :-) RT @iori0121: TL上で神聖Scheme皇国とCommonLisp合衆国の間に緊張が走ってる(笑)

2010-10-26 15:06:55
Nobuo Yamashita @nobsun

@golden_lucky ああこれだからSchemeは...(いかん,わるいくせがでそう...)

2010-10-26 15:08:10
専門性・売上・原稿 @golden_lucky

そこで、独自のコンディションを定義してguardを使うのがマイブーム。ただしGaucheに限る

2010-10-26 15:08:25
fukamachi @nitro_idiot

shiroさんの話はわかる。ただそれならt, nil, undefで、nilとundefを偽にすればいいと思った

2010-10-26 15:08:38
(び) @bizenn

どうでもいい値をとりあえず返すくらいなら(values)で値を返さない、ってのがマイブーム。

2010-10-26 15:09:26
fukamachi @nitro_idiot

Schemeは再帰関数ばっかなのに再帰するたびに(if (null? (cdr hoge)) ..)とかnull?を書かないといけないのが面倒ってのが実際起こっている問題

2010-10-26 15:10:45
Nobuo Yamashita @nobsun

@bizenn ああこれだからSchemeは,...(-x-)...

2010-10-26 15:11:27
fukamachi @nitro_idiot

って話がごちゃごちゃになってる。nilが空リストかどうかってのとundefの真偽が

2010-10-26 15:11:54
fukamachi @nitro_idiot

たぶん本当に嫌いなことは#<undef>が真

2010-10-26 15:14:02
fukamachi @nitro_idiot

@oskimura たとえばCLだと(if (cdr hoge) ..)でいいっていう話でした

2010-10-26 15:15:07
fukamachi @nitro_idiot

あと空リストが真なのと(car '())がエラーなのはScheme流だからCLer引っ込んでろって話でまとまりそう

2010-10-26 15:16:41
fukamachi @nitro_idiot

(values)とnilを区別する方法ってあるのかな? (eq nil (values)) => t だけど

2010-10-26 15:26:08
nil @iori0121

なるほど(笑)Lisp言語族ですものね!RT @kmizumar これはいつもの内輪もめw 外敵と闘うときはLISP族として一致団結するので問題ないのですよ :-) RT @iori0121: TL上で神聖Scheme皇国とCommonLisp合衆国の間に緊張が走ってる(笑)

2010-10-26 15:32:39
Chaton Gauche @chaton_gauche

shiro: またnilと#fが話題になっているようだが、whenの「戻り値」の扱いについて。CLではwhenは条件不成立時にnilになるのでそれを利用した書き方ができるが、Schemeではwhenの戻り値はundefinedなのでそう… http://bit.ly/aDFcfu

2010-10-26 15:54:36
Chaton Gauche @chaton_gauche

shiro: Schemeではむしろ、when(やunless)は「副作用目的」を明示していると考えると良い。戻り値は使えないよ、という記号。 http://bit.ly/beQAqk

2010-10-26 15:55:27
Chaton Gauche @chaton_gauche

shiro: SchemeでCLのwhen的に、戻り値を使いたい場合は、(and <条件> <処理>) と書く。これなら値に意味があることがわかる。 http://bit.ly/aIqHUf

2010-10-26 15:56:12
Chaton Gauche @chaton_gauche

shiro: 欠点として、(when <条件> <副作用> <式>) の場合は (and <条件> (begin <副作用> <式>)) としなければならない。これもbeginによるsequencingが副作用の目印だと考えることはでき… http://bit.ly/du6GDD

2010-10-26 15:57:17
Chaton Gauche @chaton_gauche

shiro: Clojureでdoが副作用のしるしになるのと似た感じ。 http://bit.ly/9dCwW6

2010-10-26 15:57:29
Chaton Gauche @chaton_gauche

(び): うん。慣れのせいかもしれないけど、私もその方が自然に思える。 http://bit.ly/9YFrkD

2010-10-26 15:57:31
Chaton Gauche @chaton_gauche

(び): これってどうなんだろうなー、と思ったんですよね。 http://bit.ly/ahd73E

2010-10-26 15:58:45