use(io). swap(x:var(T:type),y:var(T)):expr(void)=( tmp:var(T). tmp:=x; x:=y; y:=tmp ). a:var(int). b:var(int). c:var(bool). d:var(bool). a:=10; b:=20; print("before: a="); print(a); print(", b="); print(b); print('\n'); swap(a,b); print("after: a="); print(a); print(", b="); print(b); print('\n'); c:=true; d:=false; print("before: c="); print(c); print(", d="); print(d); print('\n'); swap(c,d); print("after: c="); print(c); print(", d="); print(d); print('\n')