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