Skip to content

N-Prolog ver3.88

Choose a tag to compare

@sasagawa888 sasagawa888 released this 26 Jan 07:25

v3.88 Release Notes

Overview

v3.88 aims to be compatible with ARITY\PROLOG while incorporating modern Prolog features. Notably, we've added catch/throw for exception handling and introduced a module system, enhancing compatibility with ISO-Prolog. This release enables a more modern Prolog environment while maintaining compatibility with legacy code.

Key Improvements

  • Introduction of catch/throw
    The basic exception handling mechanism, catch/throw, has been added. Future improvements will expand error handling to support more flexible error management.

  • Module System Added
    A module system has been experimentally introduced, and the list library has been registered as a module. While we aim to align with ISO-Prolog standards, we are gradually enhancing functionality.

  • Incorporation of Core ISO-Prolog Features
    Many core ISO-Prolog features have been incorporated, striving to be as close to the standard as possible. While not fully ISO-compliant, this release provides compatibility with modern Prolog environments while maintaining enjoyment of older code.
    See document/SUPERSET.md

  • Parallel Processing Implemented
    Parallel processing support has been added, enabling calculations to be performed in parallel, resulting in more efficient execution.

  • Test Cases Added
    Test cases have been added to support the new features. These ensure stable operation and compatibility with existing functionalities.

Future Plans

  • Expansion of Error Handling
    The catch/throw mechanism will be further enhanced to provide more detailed error information.

  • Strengthening ISO-Prolog Compatibility
    Additional functionality will be added to further support ISO-Prolog standards, but the focus will remain on flexibility rather than complete compliance.

  • Addition of TCP/IP Predicates (Future Task)
    Currently, predicates for TCP/IP communication are not implemented, but this remains a future task to be addressed.

About This Release

N-Prolog has been developed primarily for enjoying 1980s Prolog code, but now includes support for modern features like parallel processing. Moving forward, we aim to maintain the best aspects of classic Prolog while expanding support for contemporary technologies.