PFDS読書会 第8回 (Purely Functional Data Structures) #readpfds

PFDS読書会 第8回
0
DMスパマーに乗っ取られました @master_q

今日のまとめページ作りました。写真などありましたら @master_q まで送ってくださいー #readpfds HaskellJP wiki - Workshop/ReadPFDS/8 http://t.co/d6FBfnaP

2012-07-01 01:09:25
おしいれのぼうけん @osiire

@master_q # let x = Lazy.lazy_from_fun (fun () -> 1);; val x : int Lazy.t = <lazy> # Lazy.lazy_is_val x;; - : bool = false

2012-07-01 09:07:34
おしいれのぼうけん @osiire

@master_q lazy_is_valは関数からLazy.tを作った時かつそれがまだforceされていない時のみfalseを返します。

2012-07-01 09:08:57
おしいれのぼうけん @osiire

@master_q ご参考まで。 # let x = lazy (List.map (fun x -> x + 1) [1;2]);; val x : int list lazy_t = <lazy> # Lazy.lazy_is_val x;; - : bool = false

2012-07-01 09:14:56
おしいれのぼうけん @osiire

@master_q すみません、正確には「lazy_is_valはlazy_from_funもしくは関数適用からLazy.tを作った時かつそれがまだforceされていない時のみfalseを返す」と思います。

2012-07-01 09:19:22
DMスパマーに乗っ取られました @master_q

@osiire アドバイスありがとうございます。というか混乱させてしまい申し分けありません。背景から説明すべきでした。pfdsを読んでいてRealTimeQueueのOCaml版を作っていました。テストケースはこんなんでした。 https://t.co/Bxai0axj

2012-07-01 11:27:47
DMスパマーに乗っ取られました @master_q

@osiire で、RealTimeQueueを実行する際にQueueの内部構造がどこまでforceされたのか可視化できるとうれしいね、という話がメンバーから上がりました。そこで、そのようなshow関数を作りました。 https://t.co/4TVi8g3z

2012-07-01 11:29:36
DMスパマーに乗っ取られました @master_q

@osiire で、ぼくの勘違いでlazy_is_valの使い方ではなく、テストケースの方でprintfするタイミングが間違っていたために全てのsuspがforceされてしまった、というのが昨日のミスでした。最終結果はこのようになりました http://t.co/wuffZ4Gr

2012-07-01 11:31:14