Weaving carpets