ECLiPSe is a Constraint Logic Programming (CLP)system, consisting of
- a runtime core,
- a collection of libraries,
- a modelling and control language,
- a development environment,
- interfaces for embedding into host environments,
- interfaces to third-party solvers.
- General programming tasks, especially rapid prototyping.
- Problem solving using the available solver libraries and the CLP paradigm.
- Development of new constraint solvers based on the existing solvers andemploying ECLiPSe's lower-level language features.
The textbook Constraint Logic Programming using ECLiPSe by Apt&Wallace covers manyof these aspects.
For further reading, see the introductory paperECLiPSe as a Platform for Constraint Logic Programmingand the tutorial-style documentECLiPSe - An Introduction.
ECLiPSe has also been discussed in a BYTEarticle about CLP.
A two-page feature overview leaflet(pdf,word)is available.
tkeclipse development GUI on both Unix and Windows (screenshot (31k))
Traditional command-line based development system also supported.
Debugger working on compiled code.
Profiling tool to collect timings of the execution of individualpredicates.
Detailed documentation in printable form, and online-accessiblein html format and from the development system.
Incremental compiler. Optimizes index selection, unification order,inlining of control constructs and takes mode information into account.
The system is designed to impose no unnecessary limits on programsand data. E.g. there is no limit, other than the available memory, on thenumber or length of atoms and strings, the arity of functors, the codesize, number of procedures, complexity of clauses or stack sizes.
Synchronous and asynchronous event handling, used for both errorand exception handling as well as for interfacing to external event sources.
Fully automatic memory management with garbage collection forstacks and dictionary.
Highly configurable syntax and behaviour.
ECLiPSe programs can execute in or-parallel on shared-memorymultiprocessor hardware (this functionality is currently not actively maintainedbecause of other priorities). Plex apple carplay download.
A complete I/O system based on the notion of abstract streamswhich can be connected to files, ttys, pipes, sockets, or in-memory stringsand queues.
Eclipse Ide Console
Core Language Features
ECLiPSe is backward-compatible with Prolog(supporting the ISO/IEC 13211-1/TC1/TC2 standard,as well as other dialects). Here are some classicbenchmark results.
ECLiPSe provides comprehensive facilities to implement data-drivencontrol behaviour. These include declarative delay-clauses as wellas primitives for meta-programmed control like explicit goal suspension,flexible triggering facilities and execution priorities.
The attributed variable data type is the key to many extensionsto the basic Logic Programming language. The system calls user-definableevent handlers when it encounters attributed variables in certain contexts,e.g. unification.
Full module system, controlling the scope of visibility of predicates,non-logical stores, macros and syntax settings. Modules can be used bothto structure applications and to restrict access to the implementationdetails.
String data type with garbage-collectable strings.
Arithmetics with unlimited precision integers, rational numbers,single and double precision floats, and floating point intervals with saferounding.
Logical iteration construct which often eliminates the need forrecursive predicates.
Structures with field names.
Global references and variables.
Constraint solvers. ECLiPSe provides several libraries of constraintsolvers which can be used in application programs:
- arithmetic constraints over finite atomic domains (CHIP compatible)
- finite set constraints
- linear rational constraints
- Propia (generalized propagation)
- Interval reasoning over non-linear constraints
- Interface to external simplex solvers
- Repair-based search
- Constraint Handling Rules CHR. CHR itself contains a library ofover 20 further constraints solvers.
Eclipse Software Pricing
Solver Interfaces. ECLiPSe interfaces to theCOIN-OR,CPLEX,Gurobi andXPRESS-MPlinear and mixed-integer programming solvers, and theGecode finite-domain solver.Other interfaces are under development.
How Much Does Eclipse Ide Cost
Various other utility libraries, including a number of public-domainones, are included in the distribution.
Is The Eclipse Ide Free
The ECLiPSe programming language belongs to the Prolog familyof languages. This family includes the ISO Standard ISO/IEC 13211-1 (1995/2007/2012)and a number of other popular and influential implementation dialects.Where possible, ECLiPSe follows the standard and/or common practice.Where conflicts exist,compatibility modulesare provided.These make it possible to integrate components written in differentdialects into a single ECLiPSe application.Fully supported dialects are ISO and C-Prolog, partialsupport exists for Quintus, SICStus and SWI.
Embedding and Interfaces
Tight interface to C and C++. ECLiPSe code can call C/C++ code,or a C/C++ main program can call ECLiPSe as a library. Data can be convertedbetween C and ECLiPSe representations, or alternatively, ECLiPSe data canbe referenced from C/C++ and C/C++ data can be referenced from ECLiPSe.
Eclipse Ide License Cost
Loose interface for embedding or remote connection to Tcl/Tkand Java host applications. The main characteristics of theseinterfaces are bi-directional event-driven communication and the abilityto communicate complex data structures through a language-independent datarepresentation.