Concurrent Clean : 最近の更新をチェックインした

結構更新していたのを放置していたので、まとめてチェックイン。

OptArray
 - swap : 配列の要素の破壊的な入れ替え
OptRandom
 - tick_count : 現在のティックを取得
 - shuffle : リストをシャッフル
 - genRandLCGs : 線形合同法で乱数を生成
OptBase
 - (|>) : パイプライン演算子
OptFile
 - (|>*) : ファイル出力演算子
 - Path object
    - path, toString, pathUp, pathDown : パスオブジェクトの操作
 - mktempfile : 一時ファイルの生成

mktempfileの使い方は、次のような感じ。

module Main

import StdFile, OptFile, OptBase, StdTuple

Start w
    = case path "tmp" w of
        (Fail msg, w) = trace_error_msg msg w
        (Pass p  , w) = case mktempfile p "data" 10 ".tmp" w of
                          (Fail msg, w) = trace_error_msg msg w
                          (Pass f  , w) # f = f |>* "test"
                                        = snd $ fclose f w