Even if SML is a call-by-value language it supports the manipulation of potentially infinite data structures like streams by viewing them as processes for computing successive elements upon demand. The classical example here is, as I mentioned earlier, the notion of stream. Here lazy evaluation is rendered via function packaging. SML has an unquestionable, finally this is to conclude, has an unquestionable pedagogical value in programming since it supports safe and modularity, safety and modularity, it definitely makes programmes easier to understand.