Visual Prolog Features
Visual Prolog represents the latest generation of the Visual Prolog logical programming language, tailored for robust application development on the Microsoft Windows platform.
Language Features
Visual Prolog is a strongly typed, multi-paradigm programming language based on Prolog. Its main characteristics include:
- Logical Programming: Rooted in logical programming with Horn clauses as its foundation.
- Fully Object-Oriented: Embraces object-oriented principles.
- Object and Predicate expressions: Supports object and predicate expressions (delegates) for flexible functionality.
- Algebraic Data Types: Incorporates algebraic data types for structured data handling.
- Pattern Matching and Unification: Features pattern matching and unification, enhancing pattern recognition.
- Controlled Non-Determinism: Offers controlled non-determinism for versatile problem-solving. Fact Databases: Seamlessly integrates fact databases for efficient data management.
- Parametric Polymorphism: Supports parametric polymorphism for generic programming. Automatic Memory Management: Incorporates automatic memory management to prevent low-level memory issues.
- Direct Linkage with C/C++: Allows direct linkage with C/C++ for interfacing with existing code.
- Direct Calling of Win32 API Functions: Enables direct calls to Win32 API functions for system-level operations.
Knowledge-Based Functionalities
Visual Prolog's integration of object-oriented programming, algebraic data types, fact databases, and non-deterministic rule-based logical programming makes it ideal for seamlessly incorporating knowledge-based functionalities. These functionalities encompass diagnostics, recommendations, decision support, expert systems, and natural language understanding capabilities.
Memory Safety
The combination of strong type checking, the absence of pointer arithmetic, and automatic memory management in Visual Prolog effectively eliminates access violations, enhancing program stability.
Human-Readable and Machine-Parsable Data
In Visual Prolog, all data types, excluding predicate values and objects, employ human-readable textual representations that can be comprehended both by humans and programmatically. This facilitates effortless data input, serialization, and programmatic data retrieval.
Integrated Development Environment (IDE)
Visual Prolog's IDE streamlines application development, especially for large projects. It offers features such as tree representation for organizing project items, a text editor for editing and navigation, navigation facilities for entity search and navigation, dialog and menu editors, a graphics editor for working with icons and bitmaps, and a build facility for inserting necessary packages and directives.
Compiler
Visual Prolog's compiler is a powerful and efficient tool capable of creating standalone executables and DLLs. It performs numerous optimizations and sanity checks on the code.
Linker
The included linker can generate EXE and DLL files, leveraging LIB files from Microsoft Visual C compilers.
Debugger
The built-in graphical debugger assists with memory, stack, and variable inspection, supporting standard debugging operations.
Examples
Visual Prolog includes a number of example projects that demonstrate various Visual Prolog features.
Including examples corresponding to the online tutorials; these are found in the _tutorials subdirectory in the examples directory.