main =
let
one = Debug.log "one" 1
two = Debug.log "two" 2
three = Debug.log "three" 3
in
show "Hello"
वास्तव में करने के लिए
var main = function() {
var three = A2($Debug.log,
"three",
3);
var two = A2($Debug.log,
"two",
2);
var one = A2($Debug.log,
"one",
1);
return $Graphics$Element.show("Hello");
}();
सूचना क्रम फ़्लिप किया जा रहा है कि कैसे नीचे संकलित हो जाता है। हम एक और मूल्य है, जिसमें कुछ और पर निर्भर है परिचय तो बंधन है, निम्नलिखित बजाय होता है:
main =
let
one = Debug.log "one" 1
two = Debug.log "two" 2
three = Debug.log "three" 3
four = Debug.log "four" three + one
in
show "Hello"
में
var main = function() {
var three = A2($Debug.log,
"three",
3);
var two = A2($Debug.log,
"two",
2);
var one = A2($Debug.log,
"one",
1);
var four = A2($Debug.log,
"four",
three) + one;
return $Graphics$Element.show("Hello");
}();
लंबी और यह की कमी इसलिए है कि मूल्यों जो 'नहीं कर रहे है बदल जाता है एक ही दायरे में किसी अन्य मूल्य पर निर्भर टी संसाधित नीचे-नीचे मिलता है। जब एक मूल्य एक ही दायरे के भीतर किसी अन्य मूल्य पर निर्भर करता है, तो इसे अलग से संभाला जाता है और नीचे रखा जाता है।
यह एक कार्यान्वयन विस्तार है।
एक चलो खंड निर्देशों की एक सूची नहीं है लेकिन घोषणाओं का एक सेट है, संकलक उनके "निष्पादन आदेश" को निर्धारित करने के लिए स्वतंत्र है। आम तौर पर, जब प्रोग्रामिंग कार्यात्मक रूप से, आपको आम तौर पर निष्पादन आदेश से परेशान नहीं होना पड़ता है लेकिन अवधारणाओं और डेटा के संबंध में परेशानी नहीं होती है। – thSoft