Skip to content

Latest commit

 

History

History
96 lines (75 loc) · 4.51 KB

NOTES.md

File metadata and controls

96 lines (75 loc) · 4.51 KB

This file is part of Logtalk https://logtalk.org/
SPDX-FileCopyrightText: 1998-2025 Paulo Moura pmoura@logtalk.org
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


This directory contains Prolog integration shell scripts and supporting Prolog files. The POSIX scripts assume that Bash is installed and that the Prolog compilers are available in the system path. The PowerShell scripts requires PowerShell 7.x or a later version.

On POSIX and Windows systems, the Logtalk installers make the following integration scripts available from the command-line (you may need to adjust your system path):

  • B-Prolog (8.1 or later): bplgt
  • Ciao Prolog (1.22.0 or later): ciaolgt (experimental; first run may require sudo)
  • CxProlog (0.98.1 or later): cxlgt
  • ECLiPSe (6.1#143 or later): eclipselgt
  • GNU Prolog (1.4.5 or later): gplgt
  • JIProlog (4.1.7.1 or later): jiplgt (first run may require sudo)
  • Quintus Prolog (3.3 or later): quintuslgt
  • SICStus Prolog (4.1.0 or later): sicstuslgt
  • SWI-Prolog (6.6.0 or later): swilgt
  • Tau Prolog (0.3.2 or later): taulgt
  • Trealla Prolog (2.59.21 or later): tplgt
  • XSB (3.8.0 or later): xsblgt (first run may require sudo)
  • XVM (10.0.0 or later): xvmlgt
  • YAP (6.3.4 or later): yaplgt

Om Windows, you may need to type the .ps1 extension (e.g. swilgt.ps1).

For more information about these scripts and their dependencies, consult the corresponding man page (e.g., man yaplgt). HTML versions of the man pages are also available at:

https://logtalk.org/documentation.html#man-pages

On Windows systems, the Logtalk installer also makes Prolog integration shortcuts available from the Start Menu/Programs/Logtalk menu.

The first run of the Ciao Prolog, XSB, or JIProlog integration scripts may require a user with administrative rights. On POSIX systems, run them once as root or using sudo. In Windows systems, the first run of the integration shortcuts must be made from an administrative account (right-click on the shortcut and select the "Run as administrator" option).

The GNU Prolog integration script provides adequate performance for development. But for production environments, improved performance can be achieved by generating a new GNU-Prolog top-level that includes Logtalk. See the adapters/NOTES.md file for details.

The Tau Prolog integration scripts require that the NODE_PATH environment variable be set to the node_modules directory path where you installed Tau Prolog and its dependencies.

The environment variables LOGTALKHOME and LOGTALKUSER should be defined in order to run the integration scripts (see the INSTALL.md file for details on setting these variables). When the scripts detect an outdated Logtalk user directory, they create a new one by running the logtalk_user_setup.sh or logtalk_user_setup.ps1 script (a backup is automatically created of the old directory).

Note that the integration scripts and shortcuts may fail if you use non- standard locations for your Prolog compilers. Edit the scripts and the shortcuts if necessary.

Depending on the size and complexity of your Logtalk applications and the used Prolog backend compiler, you may need to change the integration scripts in order to allocate more memory to the backend Prolog compilers. Please consult the documentation on the backend Prolog compilers you intend to use for details.

All the scripts accept command-line options, which are passed straight to the backend Prolog compiler. For example (on a POSIX operating-system and using SWI-Prolog as the backend compiler):

% swilgt -g "write('Hello world'), nl"

Keep in mind, however, that the integration scripts already use the backend Prolog command-line option that allows an initialization file to be loaded in order to bootstrap Logtalk. See the script files for details.