• bir değişkenin değerinin, mecbur kalınana kadar hesaplanmadığı programlama dili özelliğidir.

    (bkz: haskell)

    bundan bihaber biz c programcıları, şöyle düşünürüz:
    int a = 5;
    int b = 2;
    int c = a / b; // 2.5, 2'ye yuvarlanir. (tamamen kucuk harf'e tesekkurler)
    int d = c * b; // 4.

    ama bu lazy evaluation durumunun geçerli olduğu dillerde, değişkenin değerine ihtiyaç olduğu ana kadar hesaplama yapılmaz. böylece hem performans kazanımı olur, hem de yukarıda görüldüğü gibi hatalar oluşmaz.
    örneğin c'de bu geçerli olsaydı:
    int a = 5;
    int b = 2;
    int c = a/b;
    // c, hafızada a/b ifadesi olarak işaretlenir.
    int d = c*b;
    // d, hafızada c*b olarak işaretlenir. hatta belki a/b*b, ve hatta sadeleştirilip a olabilir.

    (bkz: delayed evaluation) (bkz: minimal evaluation)
    tersi: (bkz: strict evaluation)
6 entry daha
hesabın var mı? giriş yap