タグ

遅延評価に関するtorazukaのブックマーク (2)

  • 遅延評価いうなキャンペーンとかどうか - ぐるぐる~

    遅延評価については以前も書いてるんですが、そのときは結論なしでした。 が、ちょっと考えるところがあって、言語を Java に絞って自分の考えを明確にしておきます。 結論から書きましょう。 「Java(とC#) で遅延評価って書いてあるものは遅延評価ではない」です。 Java における「評価」とは まず一番最初に、Java で「評価」って言うと、どういうことを指すのかを確認しておきます。 言語仕様の該当部分を要約すると、こんな感じでしょうか。 プログラム中の式を評価すると、結果は 変数 値 無し のうちのどれかとなる。 評価した結果が値になる、というのはいいでしょう。それ以外の 2 つを軽く説明します。 評価の結果が「変数」とは? コメント欄で指摘が入っています。 代入の結果は変数ではありません(15.26)。 結果が変数となるのは、ローカル変数、現在のオブジェクトやクラスの変数、フィールド

  • Java Advent Calendar 1 日目 - Project Lambda の遅延評価

    このエントリは Java Advent Calendar 2012 の第 1 日目です。 去年の Java Advent Calendar も第 1 日目を書いて、しかも Project Lambda についてでした。 今年も Project Lambda について書くわけですが、去年とはちょっと観点を変えようと思います。 今年の JavaOne で Java SE の一番のトピックといえば、やっぱり Project Lambda だったと思います。実際、Keynote でも Brian Goetz が登壇して Lambda の説明をしていますし、セッションも Lambda だけで 5 つもあったほどです。 実際に Brian Goetz の Lambda のセッションに出て思ったのは、Lambda の言語仕様はほぼ固まったということです。そして、開発の中心は Lambda の実装方法や、

    torazuka
    torazuka 2012/12/03
    Project LambdaのStreamインタフェースにある遅延評価のメソッドと即時評価のメソッド。遅延評価の仕組み。ふむふむ
  • 1