編集可能
2014年5月20日

force=call/cc説

Schemeのforceがcall/ccであるとは?
3
わさびず @___yuni

schemeのforceがcall/ccであることに気づいて朝めっちゃ感動した

2014-05-19 14:43:17
stibear @stibear1996

Schemeのforce call/cc説とは

2014-05-20 00:43:50
でこれき @dico_leque

(delay exp) ≡ (lambda (k) (k exp)) で (force p) ≡ (call/cc p) みたいな?

2014-05-20 00:46:51
stibear @stibear1996

非限定継続でええんやろか?

2014-05-20 00:47:35
stibear @stibear1996

https://t.co/VDZARVYKlN なんでcall/ccでいいのかわからないので手元で検証してる

2014-05-20 01:05:40
ころ @koropicot

@dico_leque これcall/cc使う意味なんなんです?

2014-05-20 01:11:30
stibear @stibear1996

call/ccだと強すぎる気がするんだよね

2014-05-20 01:12:00
ころ @koropicot

(delay exp) ≡ (lambda () (exp)) (force p) ≡ (p) じゃあかんの?

2014-05-20 01:15:52
ころ @koropicot

schemeの構文がよく分からないので無引数関数がこれで良いのかは謎

2014-05-20 01:16:57
わさびず @___yuni

非同期promiseを考えるとforceはcall/cc

2014-05-20 01:17:03
ころ @koropicot

call/ccのが間違ってると言いたいわけじゃなく、たしかにそれでできるけどそのcall/cc必要なのかが分からない

2014-05-20 01:21:35
stibear @stibear1996

@___yuni @dico_leque @koropicot ツイートを使わせていただきました。問題ありましたら対応しますのでご連絡ください。 http://t.co/i9ZuwOFoME

2014-05-20 01:32:26
stibear @stibear1996

あーcall/ccでも良さそう

2014-05-20 01:57:19
stibear @stibear1996

call/ccへの理解がやはり足りないという感じだった

2014-05-20 02:07:59
でこれき @dico_leque

@koropicot さあ? delay を CPS で書くのは合成しやすくするためで、 force は (λ (x) x) を渡して結果を受け取ってやれば同じだけど、概念としては call/cc を使った方が直接的とか?

2014-05-20 09:46:12
ころ @koropicot

@dico_leque CPSで書くと合成しやすくなるってどういうことです?

2014-05-20 10:47:05
でこれき @dico_leque

@koropicot CPS の方はモナドとして合成できる。 thunk の方もコモナドだと思って合成すればよい……?

2014-05-20 10:56:51
残りを読む(70)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?