Skip to content

N-Prolog ver 4.83 Release Notes

Choose a tag to compare

@sasagawa888 sasagawa888 released this 28 Feb 09:22

N-Prolog ver 4.83 Release Notes
Overview

N-Prolog ver 4.83 has been released.

This version improves string handling while preserving compatibility with the original ARITY/PROLOG design philosophy.

The goal of this update is to maintain language consistency and simplicity while improving usability in modern Prolog environments.

✨ Major Improvements

  1. Extended String Syntax Support

Traditionally, N-Prolog followed ARITY/PROLOG-style string notation:

$abc$

Starting from version 4.83, N-Prolog also accepts modern double-quoted string notation:

"abc"

Both forms are parsed equivalently.

This allows users familiar with ISO-Prolog or SWI-Prolog to write code naturally without breaking compatibility with existing ARITY-style programs.

  1. Display Mode Option (-d)

Although both $abc$ and "abc" are accepted during parsing, the default output representation remains:

$abc$

When N-Prolog is started with the -d option:

nprolog -d

Strings are displayed in ISO-style format:

"abc"

This design preserves:

Backward compatibility

Language consistency

Clear distinction between atom and string

The display format is configurable, but the internal semantics remain consistent.

  1. Improved String Syntax Highlighting

The editable REPL syntax highlighting has been improved.

Enhancements include:

Better handling of escape sequences

Correct coloring when " or $ appear inside strings

More stable highlighting behavior in interactive editing

This improves readability and usability.

📚 ISO-Prolog Compatibility

N-Prolog already implements major ISO-Prolog built-in predicates.

For educational and learning purposes, N-Prolog provides:

A sufficiently modern Prolog environment

ISO-style programming capability

A consistent and compact implementation model

It is suitable for:

Teaching Prolog fundamentals

Learning logic programming

Understanding ARITY-style Prolog

Experimenting with modern Prolog features

🎯 Design Philosophy

N-Prolog maintains:

Clear separation between atoms and strings

Simplicity over excessive configurability

Static language behavior (no dynamic syntax switching)

The addition of "abc" syntax improves usability without sacrificing design integrity.

Summary

Version 4.83 modernizes string handling while preserving compatibility and language philosophy.

This release makes N-Prolog more accessible to contemporary Prolog users while maintaining its ARITY-compatible foundation.