Copyright 1992-93 Digital Equipment Corporation
All Rights Reserved


Example programs
----------------

1- Simple Examples

simple            Some basic examples - look at the code
xxxooo		  xxxooo puzzle (this file is Prolog-compatible).
                  input: xxxooo ?
prime		  Prime numbers. (type constraints)
                  input: primes_to(Number) ?
dictionary	  Dictionary insertion/lookup routine. (type constraints)
                  input: dictionary
soap		  Illustration of type constraints.
                  input: soap ?
solve		  The SEND+MORE=MONEY puzzle. (residuation)
                  input: solve ?
schedule	  PERT scheduler (see Schedule.doc). (inheritance, residuation)
                  input: sch_1 ? or sch_2 ? or sch_3 ? or sch_4 ?

2- Puzzles

magic		  Naive magic square solver.
                  input: magic ?
queens		  Solving the N-queens problem. (uses the X interface) 
                  input: queens ?
boxes		  Solving a 2D bin-packing problem. (uses the X interface)
                  input: boxes ?

3- Misc programs

hamming		  Hamming problem.
                  input: hamming ?
nl		  Simple natural language parser.
                  input: nl_parse(list_of_words) ?
machine		  Simulation of the PRL snack machine (in French).
                  input: machine ?
display_terms     A program to display psi-terms. 
	          input: display_terms ?
                  To have an example psi-term displayed: display_example ?
                  To display a term from the prompt: show_term(Term) ?
palette           A program to compose your prefered color ?
                  input: palette ?


4- Bigger applications


gauss		  Incremental Gaussian equation solver.(see Gauss.doc)
flowers	 	  Flower drawing application (see Flowers.doc).
	          uses the X interface.
                  input: flowers ?

SuperLint/	  A lint-like checker for C with user-customizable 
		  checking rules.  See the SuperLint/ subdirectory
		  for details.


How to load and run a program
-----------------------------

For example, the Flowers application is loaded with the query:

	> import("flowers")?

*** WARNING: ALWAYS TYPE THE FILE NAME AS A STRING ***
This will load the file flowers.lf as well as all auxiliary files that
are necessary. Always write the file name between string quotes.

After loading, the Flowers application is run with the query:

	> flowers?

If you want to load all the demos, type the query:
        
        > load("all_demos") ?
