|
The hard facts about SICStus Prolog 4.9.0 |
Feature Highlights
SICStus Prolog provides the means to integrate a very powerful Prolog
engine in advanced, portable computing applications. It is the ideal
choice for applications that require reasoning, search or pattern
matching capabilities (e.g. intelligent web, rule engine, natural or
formal language, and expert system style applications).
SICStus Prolog provides tools for delivering stand-alone applications
as well as modules that can be linked with code written in other
languages to create reliable solutions with Prolog embedded.
The latest version is 4.9.0, featuring:
Performance
-
Based on a virtual machine (WAM), emulated by efficient C code
-
WAM code compiled just-in-time to native code for x86-based platforms
-
303 MLips on a 3.60GHz Intel Core i7-4790.
See Performance Summary.
Compliance
- International Standard ISO/IEC 13211-1 (PROLOG: Part 1—General Core), plus
Technical Corrigendum 1, 2 & 3
- Internet Protocol versions 4 (IPv4) and 6 (IPv6)
- Unicode 15
Deployment
- Stand-alone, all-in-one-file, and embedded applications
- Debuggable deployed applications
- Multiple virtual machine instances in the same process
Interoperability
Interactive Development Environments
Program Development
- A powerful IDE, with refactoring, on-the-fly code analysis, refactorings, source debugger, and other advanced features.
- Unit-test framework, for convenient, automatic testing of your programs
- Code coverage analysis
with IDE support,
for checking that all lines of code are reached in your programs
- Execution profiling
with IDE support,
for finding out where your programs spend their time.
No instrumentation or recompilation required.
On Linux, the 'perf' tool can be use to profile JIT-compiled Prolog code.
- Gauge
GUI for conveniently browsing execution profiles
Also available in the IDE.
- A standalone Cross-referencer
tool, for finding undefined or unreachable code in your programs.
Also available in the IDE.
- A standalone Determinacy
checker tool, for spotting unwanted nondeterminacy in your programs.
Also done on-the-fly in the IDE.
- Procedure box debugger with:
Special Features
- Do-loops, a concise control structure for common, simple iterations
- Hooks for term & goal expansion, messages & queries, file search paths, etc.
- Coroutines, essential for constraint solvers
- Attributed variables, essential for constraint solvers
- Mutable terms
- Unbounded precision integers
- Object-Oriented Programming syntax available. The resulting objects are
modifiable data structures that provide a clean and efficient
alternative to storing data in the Prolog database.
- Data
Structure Inter-Access allows Prolog to directly access C-structs,
providing a "lean and mean" alternative to storing data in the Prolog
database
- Constraint solvers:
- >1000 exported predicates
- Common abstract data types
- Operating system access
- File system access
- Processes
- Sockets (IPv4 and IPv6)
|