The Compiler

# Chapter 6 The Compiler

ECLiPSe has an efficient incremental compiler which compiles Prolog source into the instructions of an abstract machine and they are then executed by an emulator. The compiler is very fast, it compiles about 1000 lines/sec. on a Sun-4, and this makes the usual debugging cycle acceptably short. Unlike other Prolog systems, the ECLiPSe compiler generates code that can be used for debugging, so that no separate interpreter is necessary, and also the debugged code runs faster.
The ECLiPSe compiler is interactive and incremental, which means that Prolog programs are compiled during a ECLiPSe session directly into the Prolog database.
In addition, object code of ECLiPSe programs can be generated and stored into a file, which can then be loaded into a different session of ECLiPSe. See section 6.10 for more details.

- Program Source
- Procedure Types
- Compiler Modes
- Compiler Input
- Module Compilation
- Mode Declarations
- Inlining
- Compiler Pragmas
- Writing Efficient Code
- Compiling and loading object code
  - Restrictions
- Abstract Code Listing

1
  An example of using this feature is the library ifdef.
2
  This is in fact ambiguous; the system predicate compiled_stream/1 which is exported from the module sepia_kernel is more precise.
3
  This style is not recommended.
4
  The standard approach is to index only on the first argument