-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathREADME-ECCE
More file actions
106 lines (87 loc) · 3.55 KB
/
README-ECCE
File metadata and controls
106 lines (87 loc) · 3.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
README File for ECCE
--------------------
ECCE is an automatic partial deduction system for logic programs.
Implemented by Michael Leuschel
Based on work by Michael Leuschel, Bern Martens, Jesper Jorgensen,
Danny De Schreye, Robert Glueck, Morten Heine Sorensen, Andre de Waal,
and Mauricio Varea.
(C) 1995-2015
An online version of Ecce is available at:
http://wyvern.cs.uni-duesseldorf.de/ecce/index.php
To start using the ECCE system you have to
1. Install Sicstus Prolog (version 3 or higher).
2. Untar (tar -xf) the ecce.tar file.
This will create a subdirectory named "ecce_source".
3. Open the file "ecce_sicstus.pro" and edit the entry:
ecce_source_directory('/Calvin/Programming/ecce/ecce_source/').
so that they point to the "ecce_source" directory generated above.
You can also edit the entry:
ecce_benchmark_directory('/Calvin/Programming/ecce/ecce_benchmarks/').
to point to a benchmark directory (you should create).
Then simply load the file "ecce_sicstus.pro" using Sicstus Prolog
and then type "ecce" to start up the system.
The first time you use the system you might have to type
"ecce_recompile" to recompile all the .ql files and the restart
the system from scratch.
The most important commands should be "r" to read in source files and put
them into the internal clause database,
"c" to clear the internal clause database
and "p" to partially evaluate an atom (or goal).
Note that whenever the system requests for input in the style:
=>@
then you should input a Prolog atom followed by a point.
To use special characters one has to quote the atom with '.
For example one can type:
filename =>@ '~/ecce/test/test'.
but not
filename =>@ ~/ecce/test/test.
You can start by testing the system on the file "append-test" in
the following way:
=> r
Type a dot (.) and hit return at the end.
filename (l for ~michael/ecce/test/tests) =>@ 'append-test'.
clauses read: 3
clauses stored: 3
=> o
compiling -c+ /tmp/ecce/bimtools/prepost.nocheck.pro
reloaded prepost.nocheck.pro
=> p
Use list notation for goals: [G1,G2].
Type a dot (.) and hit return at the end.
atom or goal (l for true) =>@ doubleapp(X,Y,Z,XYZ).
.....
The specialised program should look more or less like this:
doubleapp(X1,X2,X3,X4) :-
doubleapp__1(X1,X2,X3,X4).
doubleapp__1([],X1,X2,X3) :-
append__3(X1,X2,X3).
doubleapp__1([X1|X2],X3,X4,[X1|X5]) :-
append_conj__2(X2,X3,X4,X5).
append_conj__2([],X1,X2,X3) :-
append__3(X1,X2,X3).
append_conj__2([X1|X2],X3,X4,[X1|X5]) :-
append_conj__2(X2,X3,X4,X5).
append__3([],X1,X1).
append__3([X1|X2],X3,[X1|X4]) :-
append__3(X2,X3,X4).
The current user interface is still a bit rudimentary and there is no
manual yet. E.g. currently it is best to clear the clause database (c)
and read in the file to be specialised (r) before every partial evaluation
(p), as the post-processor will mess with the clause database (and put
part of the specialised program there).
=====
Note: to display the global tree you need gv.
On Mac OS X: be sure to use the right Ghostscript interpreter for gv
(in the State Menu for Ghostscript options I have to change the default
from gs to /sw/bin/gs to use the right Ghostscript interpreter)
=====
For further information or bug reports you can reach me
as follows:
============================================================
Michael Leuschel (http://stups.hhu.de)
Institut für Informatik
Heinrich-Heine-Universität Düsseldorf
Universitätsstr. 1
D-40225 Düsseldorf
E-mail: leuschel@uni-duesseldorf.de
============================================================