home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l210 / 1.ddi / ANSWERS.ARC / ANS_148A.PRO < prev    next >
Encoding:
Prolog Source  |  1988-06-21  |  1.3 KB  |  44 lines

  1. /*
  2.    Turbo Prolog 2.0, Answer to first Exercise on page 148.
  3.    
  4.    Copyright (c) 1986, 88 by Borland International, Inc
  5. */
  6.  
  7. Domains
  8.     lyrics = lyrics(symbol,symbol)
  9.     music  = music(symbol,symbol)
  10.     name   = string
  11.  
  12. Predicates
  13.     show ( name, lyrics, music )
  14.     write_shows
  15.  
  16. Clauses
  17.     show("West Side Story", lyrics(stephen,sondheim),
  18.           music(leonard,bernstein) ).
  19.     show("Repo Man", lyrics(iggy,pop),
  20.           music(iggy,pop) ).
  21.     show("Live and Let Die", lyrics(paul,mc_cartney),
  22.           music("",wings) ).
  23.     show("Two Hundred Motels", lyrics(frank,zappa),
  24.           music(mothers_of,invention) ).
  25.     show("The King and I", lyrics(rogers,hammerstein),
  26.           music("","?") ).
  27.     show("Chess", lyrics("Andersson Rice","& Ulvaeus"),
  28.           music(london,symphony) ).
  29.     show("Stop Making Sense", lyrics(talking,heads),
  30.           music(talking,heads) ).
  31.           
  32.     write_shows :-
  33.         show(Show, lyrics(First,Last), music(M_first, M_last) ) ,
  34.         write("The show ",Show," has music written by ",
  35.               First," ",Last,".\nThe music is played by ",
  36.               M_first," ",M_last,".\n\n") ,
  37.         fail.
  38.     write_shows.
  39.  
  40. Goal
  41.   makewindow(1,2,3," Musical Shows ",0,0,25,80) ,
  42.   write_shows ,
  43.   write("Press any key...") ,
  44.   readchar(_).