2 struct Pair(x:Text, y:Text)
4 func pairwise(strs:[Text] -> func(->Pair?))
8 return Pair(strs[i-1] or return none, strs[i] or return none)
10 func range(first:Int, last:Int -> func(->Int?))
19 values := ["A", "B", "C", "D"]
21 assert (++: "($(foo.x)$(foo.y))" for foo in pairwise(values))! == "(AB)(BC)(CD)"
22 assert ["$(foo.x)$(foo.y)" for foo in pairwise(values)] == ["AB", "BC", "CD"]
26 for foo in pairwise(values)
27 result.insert("$(foo.x)$(foo.y)")
28 assert result[] == ["AB", "BC", "CD"]
30 assert [i for i in range(5, 10)] == [5, 6, 7, 8, 9, 10]
32 assert (+: range(5, 10))! == 45