-- main.mcl -- import "fmt" $map1 = {0 => "a", 1 => "b", 2 => "c",} $map2 = {0 => "x", 1 => "y", 2 => "z",} $word = "hello" forkv $key1, $val1 in $map1 { class foo($x, $y) { $result = "hello " + $x + $y + $val1 $result1 = $x + $val1 } forkv $key2, $val2 in $map2 { include foo($val1, $val2) as included $s = fmt.printf("%s is {%d,%d}", $included.result, $key1, $key2) $s1 = fmt.printf("one: %s", $included.result1) test [$s, $s1,] {} } } -- OUTPUT -- Vertex: test[hello axa is {0,0}] Vertex: test[hello aya is {0,1}] Vertex: test[hello aza is {0,2}] Vertex: test[hello bxb is {1,0}] Vertex: test[hello byb is {1,1}] Vertex: test[hello bzb is {1,2}] Vertex: test[hello cxc is {2,0}] Vertex: test[hello cyc is {2,1}] Vertex: test[hello czc is {2,2}] Vertex: test[one: aa] Vertex: test[one: bb] Vertex: test[one: cc]