正格性解析 (Strictness Analysis) への反応

正格性解析 (Strictness Analysis) http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20101228#p01 への反応まとめ。
3
Ikegami Daisuke @ikegami__

だいたい道具がそろったので、さかいさんの記事をたのしみにしつつ寝よう

2010-12-28 00:28:05
Masahiro Sakai @masahiro_sakai

日記更新 正格性解析 (Strictness Analysis): この記事はHaskell Advent Calendarのために書かれたものです。(22日目) 正格性解析(strictness analysis)は、Ha... http://bit.ly/fEJ1xh

2010-12-29 02:36:41
Ikegami Daisuke @ikegami__

つぎは僕の番で、point-free style を紹介しようと思ったんだけど、「sum = foldl (+) の最適化は、正格性解析に関してはむずかしい」ということが書いてあって、そのとおりなんですが、point-free よくないやんけ、ということではないので書かないとうう

2010-12-29 05:23:42
Ikegami Daisuke @ikegami__

domain theory か… Haskell プログラミングがむずかしい、という印象をもってほしくないなあ…

2010-12-29 05:26:20
Ikegami Daisuke @ikegami__

僕自身は、論文読んだり、むずかしいはなしのほうがわくわくするんですが

2010-12-29 05:26:48
Ikegami Daisuke @ikegami__

ghc -O がよろしくやってくれるんだけど、なんでよろしいのか論文どこだったかなー

2010-12-29 05:29:55
Ikegami Daisuke @ikegami__

foldl のかわりに foldl' つかえばいいじゃない、とかごまかそうかなー

2010-12-29 05:44:29
Üe🦀 @ranha

いけがみさんはいけがみさんが読みたい記事を書けば良いですし誰かの為なんて偽らなくて良いんですよ…!!誰かなんて、本当はいない…。自分こそが読者ッ!!!そう、ぼくが読者だ!!!

2010-12-29 05:49:11
Ikegami Daisuke @ikegami__

こういうときのらんはさんは、なんかこう胸にキュンとくるものがあって、ああとかだまされそうになるな

2010-12-29 05:51:03
Ikegami Daisuke @ikegami__

google さんに query なげたので、文献まとめてもらうことにして、正格性はともかく point-free の原稿書こう、ありがとうらんはさん

2010-12-29 06:00:46
Keigo Imai @keigoi

@masahiro_sakai Haskell ACの記事面白い! 基本的なことで恥ずかしいのだけどidも正格というのに気づかなかったです。 g#の展開は p && q && (p || p) でなく p && q && (p || r) でしょかね。

2010-12-29 07:16:22
Üe🦀 @ranha

さかいさんのブログおもろいから一度でも開くと時間吸い取られてヤバいっていうのはあって要注意だ…

2010-12-29 08:01:38
pokarim @pokarim

"停止するはずのプログラムが停止しなくなったりはしない...関数fが正格なのは f ⊥ = ⊥ が成り立つとき。" http://bit.ly/ifdemr

2010-12-29 10:54:50
pokarim @pokarim

"停止するはずのプログラムが停止しなくなったりはしない...関数fが正格なのは f ⊥ = ⊥ が成り立つとき。" http://bit.ly/ifdemr

2010-12-29 10:54:50
pokarim @pokarim

"「cが正格なときとcが非正格なときようのコードを両方生成しておいて、さらにcの実行時のクロージャに正格性の情報を格納しておいて、実行時にcの正格性情報を見てどっちのコードか選ぶ」なんてことはできないものなのかな。" http://bit.ly/ifdemr

2010-12-29 10:56:15
pokarim @pokarim

"「cが正格なときとcが非正格なときようのコードを両方生成しておいて、さらにcの実行時のクロージャに正格性の情報を格納しておいて、実行時にcの正格性情報を見てどっちのコードか選ぶ」なんてことはできないものなのかな。" http://bit.ly/ifdemr

2010-12-29 10:56:15
pokarim @pokarim

型情報に正格かどうかをメタ情報として持たせて、コンパイル時に正格用か非正格用か決定することはできないものかな。 http://bit.ly/ifdemr

2010-12-29 10:58:00
pokarim @pokarim

型情報に正格かどうかをメタ情報として持たせて、コンパイル時に正格用か非正格用か決定することはできないものかな。 http://bit.ly/ifdemr

2010-12-29 10:58:00
Masahiro Sakai @masahiro_sakai

@keigoi ありがとうございます。修正しておきました。idが正格というのは私も昔勘違いしてました。

2010-12-29 12:08:08
pokarim @pokarim

処理系が最適な評価順序を自動で選んでくれれば一番いいんだけど、停止し得るなら必ず停止できるシンプルな戦略として、"とりあえず"遅延評価を採用っていうことだよね。

2010-12-29 12:09:13
スマートコン @mr_konn

正格性解析ってこう云うことだったのか……

2010-12-29 12:11:06
pokarim @pokarim

idが正格ならseq要らないもんな。

2010-12-29 12:13:16
Keigo Imai @keigoi

@pokarim 正格なのとseqで評価順序を指定するのは別の話だということですね。

2010-12-29 12:27:44
shelarcy(しぇらーしぃ) @shelarcy

@pokarim Clean なら、関数の引数の正格性を型情報として埋め込むことができますね。 http://bit.ly/hgDjc0 http://bit.ly/grsDPu http://bit.ly/e9Sp47

2010-12-29 12:33:42