anchor.diff:  print
      Pipe!list
   
  +#
  +# Write s-expression and parse expression at receiver.
  +#
  +define shared (Pipe!open 'expression-pipe')
  +spawn 'testscripts/pipe-expression-reader.g' 'expression-pipe'
  +define out
  +   shared(.output)
  +out(.format '123 456 "abc"')
  +out(.format '%s' ^(1 W (x=y) 'z' .a 23.45))
  +out(.format '%s' ^(def foo(a) (cons a a)))
  +
  +print
  +   Pipe!list
  
positive.code: Pipe!delete 'mypipe'
  assert (equal? (Pipe!list) nil)
  
  
  # share a text line using a pipe between this task and a reading task    
  define shared (Pipe!open 'shared-pipe')
  spawn 'testscripts/pipe-reader.g' 'shared-pipe'
  define out
  
negative.code: out(.format 'Hello from the first task\n')
  
  
  #
  # single reader, multiple writers - scrambled together at reader since no synchronisation
  #
  define shared (Pipe!open 'shared-pipe2')
  for i in (range 0 5)
      spawn 'testscripts/pipe-writer.g' 'shared-pipe2'
  