KLIC Programming Contest 97
Parallel Processing Section: "John Conway's Game of Life" Sample Program

							1997/07/30
				KLIC Programming Contest Secretariat

(1) Files in this distribution

Following files are included in this distribution.

README.e		This file

README			Japanese version

main.kl1		Main Routine of The Game of Life in KL1
			(For debugging aids)

Makefile		Makefile, which describes the procedure of compilation

test/			Directory which includes the testing environment
test/Makefile		Makefile for test
test/*.life		Sample input files
test/outputs/*.out	Outputs of sample inputs

game/			Graphical User Interface and other program
			so that you can enjoy The Game of Life


(2) Usage of Main Routine and The Testing Environment

Please implement life:compute/3 in the file "life.kl1", and place it
in the directory where this "README.e" resides.

Using the "make" utility, you can build the executable "life" and test
your program.


(2.1) Makefile

In the "Makefile", the procedure of compilation and invocation of test
is described.  Please edit some parameters such as KLIC and/or KFLAGS
if needed.


(2.2) Main routine "main.kl1"

The file "main.kl1" includes the main routine.  It's offered for
debugging aids. (It is not necessarily means that it is used for
evaluation.)


(2.3) Building the executable "life"

Typing
	% make

builds the executable "life" from the source files of "main.kl1" and
"life.kl1".


(2.4) Usage of the executable "life"

You can invoke the executable "life" in two forms:

	% life

will get input from standard input, when it is invoked with no
argument, while

	% life {file-name}

will get input from the file {file-name}, when the file is specified as
argument.

(2.4.1) Input Format

The format of input is the term of KL1 followed by the period.  The
structure of term is the functor of:
	life(HowManyGenerations,PointList)
where HowManyGenerations specifies the number of generations, and
PointList specifies the list of "on" cell sorted in ascending order.
(p(X0,Y0) < p(X1,Y1) iff Y0