link math procedure main(A) every n := !A do { # for each command line argument n := integer(\n) | &null pascal(n) } end procedure pascal(n) #: Pascal triangle /n := 16 write("width=", n, " height=", n) # carpet header fw := *(2 ^ n)+1 every i := 0 to n - 1 do { writes(repl(" ",fw*(n-i)/2)) every j := 0 to n - 1 do writes(center(binocoef(i, j),fw) | break) write() } end