-- main.mcl -- # this must pass type unification and generate output # single resource test "name" {} # single resource, defined by list variable $names = ["hey", "there",] test $names {} # multiples resources, defined by list test ["hello", "world",] { Depend => Test[$names], } $morenames = ["wow", "cool", "amazing",] test $morenames {} Test[$names] -> Test[$morenames] -- OUTPUT -- Edge: test[hey] -> test[amazing] # test[hey] -> test[amazing] Edge: test[hey] -> test[cool] # test[hey] -> test[cool] Edge: test[hey] -> test[hello] # test[hey] -> test[hello] Edge: test[hey] -> test[world] # test[hey] -> test[world] Edge: test[hey] -> test[wow] # test[hey] -> test[wow] Edge: test[there] -> test[amazing] # test[there] -> test[amazing] Edge: test[there] -> test[cool] # test[there] -> test[cool] Edge: test[there] -> test[hello] # test[there] -> test[hello] Edge: test[there] -> test[world] # test[there] -> test[world] Edge: test[there] -> test[wow] # test[there] -> test[wow] Vertex: test[amazing] Vertex: test[cool] Vertex: test[hello] Vertex: test[hey] Vertex: test[name] Vertex: test[there] Vertex: test[world] Vertex: test[wow]