Tous les domaines de la chapelle sont des ensembles, mais « domaines associatifs » peuvent être utilisés comme des ensembles:
var s : domain(string);
s.add("table");
s.add("chair");
s.add("emu");
writeln(s); // {chair, table, emu}
var t = {"table", "chair", "emu"}; // associative domain literal
Comme ensembles python, contrôles domaines associatifs d'adhésion de soutien et l'union, la différence, les opérations d'intersection (entre autres). See the online docs for more information. Par défaut, les domaines associatifs peuvent être utilisés en toute sécurité en parallèle.
Les 'tableaux associatifs' de Chapel sont similaires aux dictionnaires python. Les tableaux de chapelle sont un mappage d'indices en éléments, de sorte que nous pouvons créer un tableau associatif avec un domaine associatif:
var inds = {1, 2, 3, 7, 42};
var map : [inds] string;
map[3] = "foo";
map[42] = "bar";
inds.add(100); // add new index and element
assert(map[100] == "");
map[100] = "baz";
var lit = ["bob" => 1, "alice" => 2]; // assoc. array literal