Concurrent Clean : letとwhere,with
次の例は、(2)だけadd1が有効になる。whereをwithに置き換えても同じ。
k a = let a1 = add1 a //(1) a2 = add1 a1 //(2) where add1 = (+) 1 in add1 a2 //(3)
これは、(1),(2),(3)のすべてでadd1が有効になる。withをwhereに置き換えても同じ。
k a = let a1 = add1 a //(1) a2 = add1 a1 //(2) in add1 a2 //(3) with add1 = (+) 1