home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lifeos2.zip / LIFE-1.02 / TESTS / IN / FEATURE_.IN < prev    next >
Text File  |  1996-06-04  |  835b  |  81 lines

  1. %%% ABC
  2.  
  3. module("abc")?
  4.  
  5. public(p,abc_test,label_list)?
  6.  
  7. private_feature(a)?
  8.  
  9. p(abc(a => 1,
  10.       b => 2,
  11.       c => 3)).
  12.  
  13. label_list -> [a,b,c,d,e,f,g].
  14.  
  15. abc_test(X,[]).
  16. abc_test(X,[Label|Rest]) :-
  17.     write(Label," => ",X.Label),
  18.     nl,
  19.     abc_test(X,Rest).
  20.  
  21.  
  22. %%% DEF
  23.  
  24. module("def")?
  25.  
  26. public(q)?
  27.  
  28. public(d)?
  29. private_feature(d)?
  30. private_feature(e)?
  31.  
  32. q(def(d => 4,
  33.       e => 5,
  34.       f => 6)).
  35.  
  36.  
  37.  
  38. %%% USER
  39.  
  40. module("user")?
  41. open("abc")?
  42. open("def")?
  43.  
  44. display_modules?
  45.  
  46. test1 :-
  47.     p(X:@(g=>7,h=>8,i=>9)),
  48.     q(Y),
  49.     nl,
  50.     nl,
  51.     write("X=",X),nl,
  52.     write("Y=",Y),nl,
  53.     nl,
  54.     MOD={"abc";"def";"user"},
  55.     nl,
  56.     nl,
  57.     write("MOD=",MOD),
  58.     nl,
  59.     F=features(X,MOD),
  60.     G=features(Y,MOD),
  61.     write("F=",F,",   G=",G),
  62.     nl,
  63.     fail.
  64.  
  65.  
  66. test2 :-
  67.     nl,
  68.     nl,
  69.     nl,
  70.     p(X),
  71.     q(Y:strip(X)),
  72.     write("Y=",Y),
  73.     nl,
  74.     abc_test(Y,label_list),
  75.     pretty_write("Y"=Y),
  76.     nl.
  77.  
  78.  
  79. test1?
  80. test2?
  81.