macro Swap(a,b, c) typeof(a) c c=a a=b b=c end macro 'demo with compound types: '========================= type point { float x,y} point p={1,2} point q={3,4} swap p,q print "p: " p.x "," p.y 'p: 3,4 print "q: " q.x "," q.y 'q: 1,2