F # Сопоставление с шаблоном короткого замыкания

Новое в F #. Следующий вопрос может вообще не иметь смысла.

// an attempt at Huffman encoder 
let encodeValue x y = function ...

match ((encodeValue left value), (encodeValue right value)) with
    | ((true, encoded), (_, _)) -> (true, encoded + "1")
    | ((_, _), (true, encoded)) -> (true, encoded + "0")
    | ((false, _), (false, _)) -> (false, "")
    | _ -> failwith "Error"

В реальной среде encodeValue может быть довольно дорогим. Можно (или разумно) попросить F # сначала оценить encodeValue left value , попытаться сопоставить, а затем выполнить encodeValue right value , когда это необходимо?

5
задан jameszhao00 5 August 2011 в 04:23
поделиться