1.\"	$Id: eclipse.l,v 1.3 2013/05/30 17:44:46 jschimpf Exp $
2.\" BEGIN LICENSE BLOCK
3.\" Version: CMPL 1.1
4.\"
5.\" The contents of this file are subject to the Cisco-style Mozilla Public
6.\" License Version 1.1 (the "License"); you may not use this file except
7.\" in compliance with the License.  You may obtain a copy of the License
8.\" at www.eclipse-clp.org/license.
9.\"
10.\" Software distributed under the License is distributed on an "AS IS"
11.\" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See
12.\" the License for the specific language governing rights and limitations
13.\" under the License.
14.\"
15.\" The Original Code is  The ECLiPSe Constraint Logic Programming System.
16.\" The Initial Developer of the Original Code is  Cisco Systems, Inc.
17.\" Portions created by the Initial Developer are
18.\" Copyright (C) 2006 Cisco Systems, Inc.  All Rights Reserved.
19.\"
20.\" Contributor(s):
21.\"
22.\" END LICENSE BLOCK
23
24.TH ECLIPSE L "January 2003"
25.UC 4
26.SH NAME
27eclipse \- ECLiPSe Constraint Logic Programming System (console interface)
28.SH SYNOPSIS
29.B eclipse [ options ...]
30.SH DESCRIPTION
31.I ECLiPSe
32is a Constraint Logic Programming system, initially developed at the
33European Computer-Industry Research Centre (ECRC) in Munich, and
34between 1995 and 2005 at the Centre for Planning and Resource Control (IC-Parc)
35at Imperial College London. It became open source in 2006.
36
37.I ECLiPSe
38can be used simply as a Prolog system, and provides compatibility
39libraries for a variety of other Prolog dialects and the ISO Prolog standard.
40As a Prolog system,
41.I ECLiPSe
42implements a number of nonstandard language features, including
43an advanced module system,
44attributed variables,
45an elaborate implementation of data-driven goal execution,
46array syntax,
47structures with named fields,
48string data type,
49arithmetic with big integers, rational numbers and intervals,
50iteration, matching,
51synchronous and asynchronous event handling,
52nonlogical stores and an
53external language interface.
54
55The main purpose of
56.I ECLiPSe
57however is to be used as a constraint programming language. In particular,
58it is aimed at problem solving with a variety of classical methods
59(e.g. constraint propagation, mathematical programming, and local search),
60and the combination of these basic methods into new hybrid methods.
61The system's constraint solving facilities are largely based on the primitives
62for data-driven execution, and are generally provided in the form
63of constraint solver libraries.
64
65.SH OPTIONS
66The following options are currently recognized by
67.B eclipse:
68.TP 13
69.B \-b bootfile
70the same as -f bootfile.
71.TP
72.B \-f bootfile
73compile the file
74.I bootfile
75before starting the session.
76Multiple -f options are allowed.  The file is processed by
77ensure_loaded/1 and can be a precompiled file or a source file.
78.TP
79.B \-e goal
80Instead of starting an interactive toplevel, the system will
81execute the goal
82.I goal.
83This goal is given in normal Prolog syntax,
84and has to be quoted if it contains any characters that would normally
85be interpreted by the shell.  The -e option can be used together with
86the -b option and is executed afterwards.  The exit status of the
87ECLiPSe process reflects success or failure of the executed Prolog
88goal (0 for success, 1 for failure, 2 for abort).
89.br
90When you only have a runtime installation of eclipse, the -e option
91is compulsory because a runtime system does not have an interactive
92toplevel.
93.TP
94.B \-g size
95This option specifies to which limit the memory consumption of the
96ECLiPSe global/trail stack can grow.  The size is specified in
97kilobytes (followed by an optional K), in megabytes (followed by M) or
98in gigabytes (followed by G).
99The default is 512M on 64-bit, or 256M on 32-bit machines.
100The amount required for this stack depends on the program's data
101structures and may need to be increased for very large applications.
102.TP
103.B \-l size
104This option specifies to which limit the memory consumption of the
105ECLiPSe local/control stack can grow.  The size is specified in
106kilobytes (followed by an optional K), in megabytes (followed by M) or
107in gigabytes (followed by G).
108The default is 128M on 64-bit, or 64M on 32-bit machines.
109The local/control stack is unlikely to require more than this default.
110If it does, it is probably caused by a programming error.
111.TP
112.B \-D directory
113This options allows to explicitly specify the ECLiPSe installation
114directory, i.e. the directory under which the system tries to find the
115ECLiPSe runtime system and libraries.  This option overrides (and
116renders unnecessary) any setting of the ECLIPSEDIR environment
117variable (Unix) or, respectively, an ECLIPSEDIR registry entry
118(Windows) that may be in effect.
119.TP
120.B \-L language
121The name of the language dialect used in the top level module.
122The default is eclipse_language, other possible values include
123iso, iso_strict, quintus etc.
124This property can also be set via an ECLIPSEDEFAULTLANGUAGE
125environment variable.
126.TP
127.B \-t module
128The name of the top level module.  This is an initially empty module,
129created by the system, which serves as the context for -f and
130-e options, and in which interactive toplevel queries are executed.
131This can be an arbitrary name, as long as it does not conflict with
132important library names.  The default is eclipse.
133.TP
134.B \-\-
135The ECLiPSe system will ignore this argument and everything that
136follows on the commmand line.  The Prolog program will only see the
137part of the command line that follows this argument.
138
139
140.SH ENVIRONMENT VARIABLES
141The following environment variable settings are recognised by ECLiPSe,
142but none of them needs to be set in order to run eclipse:
143.TP 20
144.B ECLIPSEDIR
145the ECLiPSe installation directory. The default is fixed during
146ECLiPSe installation.
147.TP
148.B ECLIPSETMP
149the directory in which ECLiPSe may store temporary files, by default /tmp.
150.TP
151.B ECLIPSEINIT
152the name of an initialization file which is compiled just before
153starting the interactive toplevel.
154If ECLIPSEINIT is unset, the default is '.eclipserc' or ~/.eclipserc.
155If ECLIPSEINIT is set to the empty string, no initialization is made.
156.TP
157.B ECLIPSELIBRARYPATH
158a colon-separated sequence of directory names, which get prepended to
159ECLiPSe's list of library directories.
160.TP
161.B ECLIPSEDEFAULTLANGUAGE
162The name of the language dialect used in the top level module.
163The default is eclipse_language, other possible values include
164iso, iso_strict, quintus etc.
165
166
167.SH FILES
168.TP 20
169.B $ECLIPSEDIR
170the ECLiPSe installation directory
171.TP
172.B $ECLIPSEDIR/bin/`arch`/eclipse
173an executable eclipse (console interface)
174.TP
175.B $ECLIPSEDIR/bin/`arch`/tkeclipse
176an executable eclipse (graphical user interface)
177.TP
178.B $ECLIPSEDIR/bin/`arch`/tktools
179standalone ECLiPSe GUI debugging tools that can be attached to a
180separate ECLiPSe session.
181.TP
182.B $ECLIPSEDIR/doc
183online documentation and manuals
184.TP
185.B $ECLIPSEDIR/include
186contains the .h files necessary to compile code using ECLiPSe's
187C/C++ interfaces.
188.TP
189.B $ECLIPSEDIR/{lib,lib_public}
190contains the ECLiPSe libraries
191.TP
192.B $ECLIPSETMP/eclipse.XXX.<pid>
193temporary file created by ECLiPSe, e.g. for the profiler.
194
195
196.SH SEE ALSO
197.nf
198.IR tkeclipse (1), tktools (1)
199.sp
200.I "ECLiPSe Web Site"
201http://www.eclipse-clp.org
202.sp
203.I "Online Documentation"
204In $ECLIPSEDIR/doc/index.html, containing the following:
205.sp
206.IR "ECLiPSe, An Introduction" ,
207Andrew M. Cheadle et al, IC-PARC.
208.sp
209.IR "ECLiPSe User Manual" ,
210Abderrahamane Aggoun et al, IC-PARC.
211.sp
212.IR "ECLiPSe Constraint Library Manual" ,
213Pascal Brisset et al, IC-PARC.
214.sp
215.I "ECLiPSe Embedding and Interfacing Manual"
216Stefan Novello, Joachim Schimpf, Kish Shen and Josh Singer, IC-PARC.
217.sp
218.IR "ECLiPSe Visualisation Manual" ,
219Kish Shen, Josh Singer and Andrew Sadler, IC-PARC.
220
221
222.SH SIGNAL HANDLING
223The eclipse runtime system (eclipse -e) modifies the handler for SIGALRM
224in order to implement ECLiPSe's timer facilities.
225The interactive development system additionally defines handlers for SIGPROF
226and SIGINT to implement profiling and user interrupt.
227The development system also tries to catch all other signals and handle them
228using appropriate defaults.
229
230
231.SH BUGS
232Bugs should be reported via the web site or by email
233.IP
234http://www.eclipse-clp.org/bugs.html
235mailto:eclipse-clp-bugs@lists.sourceforge.net
236.br
237.LP
238