2015-03-24 [長年日記]
■WORLD END ECONOMiCA II
IIIが出るまで待つべきだったかな。すごく面白くて、早く続き読みたい。
現実の粉飾決算を模倣しているのだけど、中の視点からはなかなかわからない、という様子を描いているのが面白い。(作中の年代からすれば「過去に同じようなことがあった」はずなのに)
■少女は書架の海で眠る
残念な一冊。題材は好みなはずなのに。
主人公、ヒロインともに立ち位置的に取れる行動の選択肢の少なすぎるので、いかんともしがたいぐらい物語が動かない。
最後の策も、外の視点に立っている読者からは当然想定できているので……。
2015-03-21 [長年日記]
■ジェノサイド
「人智を越えた知能」という難しい課題をよくぞ書き切った(といいたいところだけど下巻の最後にちょっと不満)。
すごく精緻なプロットと筆力は圧巻で、アフリカで生まれた「人智を越えた」知能を持つ存在を巡るタペストリーのような物語。
その複雑な状況をすべて操っていると読者に感じさせることに成功していて、それが文として書かれた「人智を越えた」という表現以上に「人智を越えた」存在のリアリティを作っている。
一気に読み切った、これはすごい小説。
2015-03-08 [長年日記]
2015-03-06 [長年日記]
■グラン・ヴァカンス
本屋さんでハヤカワSFがいっぱい並んでて見かけた。
購入してあったのを思い出して読み始めた。
うん。これは力ある作品。
次が中短編集なんだよなぁ。読みたいけど3が出ていないから読んだらもうひとまずおしまいなんだよなぁ、などと。
2015-03-02 [長年日記]
■{}の中身は何回評価されるか
今日職場で話題になったこと。勝手に書いてます。
(1 to 10).filter{println("search"); _ > 4}.foreach(println)
を実行したらsearch は何回表示されるか。
10回だと思ったけど。
search 5 6 7 8 9 10
println が1回しか実行されてない。
つまり、
(1 to 10).filter{i => println("search"); i > 4}.foreach(println)
と同じかと思ったら(実際こっちを実行すると10回表示される)、
(1 to 10).filter{println("search"); i => i > 4}.foreach(println)
こう解釈されてて、ブロックの中が一回評価されて最後の i=> i>4 が関数として返されてた。
みたい。