// bubble sort

//to print x = syscall {1 x}
//to space = syscall {2 32}
//to nl = syscall {2 10}

to init | i =
  for i 0 maxdata-1
    data[i] = maxdata - i

to show | i =
  for i 0 maxdata-1
    print data[i] space
  nl

to swap a b | t =
  t = data[a]
  data[a] = data[b]
  data[b] = t

to sort | i j =
  for i 0 maxdata-1
    for j 0 maxdata-2
      if data[j+1] < data[j]
        swap j j+1

to main =
  maxdata = 20
  data = array maxdata
  init   
  show sort show
