home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / dev / e / amigae / src / tools / lisp / lisptest.e < prev   
Text File  |  1992-09-02  |  588b  |  34 lines

  1. -> test lisp tool module
  2.  
  3. MODULE 'tools/lisp'
  4.  
  5. PROC main()
  6.   DEF a,b
  7.  
  8.   -> map a reverse over lists
  9.  
  10.   showcellint(map(<<1,2,3>,<4,5,6>,<7,8,9>>,{nrev}))
  11.  
  12.   -> sum a list
  13.  
  14.   WriteF('\n\d\n',foldr(<1,2,3>,{add},0))
  15.  
  16.   -> select a list of zipped pairs whose head>tail
  17.  
  18.   showcellint(filter(zip(<1,2,3,4,5>,<2,1,-1,5,4>),{greater}))
  19.  
  20.   -> number of positive and negative number of elements in a list
  21.  
  22.   a,b:=partition(<1,-5,8,2,-2,4,5,7>,{pos})
  23.   WriteF('\n\d \d\n',length(a),length(b))
  24.  
  25. ENDPROC
  26.  
  27. PROC add(x,y) IS x+y
  28. PROC pos(x) IS x>=0
  29.  
  30. PROC greater(c)
  31.   DEF h,t
  32.   c <=> <h|t>
  33. ENDPROC h>t
  34.