<commit_before>=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.0

Copyright (c) 1998-2006 <NAME>.  All Rights Reserved.
=================================================================


This file contains some notes about the config files provided. If you
improve or correct some of these files, or write new ones for other
Prolog compilers, please send me a copy. It is impossible for me to 
individually test Logtalk under each Prolog listed here (or, for that 
mater, to own a copy of each one of these compilers). For some of 
these Prolog compilers I only have the manuals available on-line.

As a general rule, always try to use the most recent version of your
Prolog compiler of choice. Most Prolog compilers are moving towards
better ISO Standard compatibility and, as a consequence, improved
Logtalk compatibility.


template config file

	template.config

	If a config file for your favorite Prolog is not available, use this 
	file as a template for writing one. For each predicate in the file, 
	see if it is built-in in your Prolog, available in a library, or if 
	you can write a better definition.


ALS Prolog 3.1

	als.config

	Only a few tests have been done with this compiler. One known problem: an
	ALS bug in operator handling that make calls like "\+ ::Pred" be 
	interpreted like "::(\+ Pred)" instead of "\+ (::Pred)". A workaround is 
	to replace all occurrences of "\+ ::Pred" by "\+ (::Pred)" and all 
	occurrences of "\+ Obj::Pred" by "\+ (Obj::Pred)". Please report any other 
	problems that you might find. Don't forget to use the cd/1 predicate to 
	set the working directory before loading the library or an example. Consult 
	the file builtins/comp_d10.pro in the ALS Prolog installation directory in 
	order to get the definition of predicate numbervars/3 needed by the Logtalk 
	built-in debugger. Supports smart compilation of source files. Does not 
	support the "altdirs" compiler flag.


Amzi! Prolog 7.4.10 and later versions

	amzi.config

	For Amzi! Prolog 7.4.10 and later versions. You need to patch the Logtalk 
	compiler (the "compiler/logtalk.pl" file) by searching for all calls of 
	':'/2 and wrap them inside call/1. For better performance, use the Amzi! 
	"acmp" command-line compiler to compile the files "configs/amzi.config",
	"compiler/logtalk.pl", and "libpaths/libpaths.pl" and then load the 
	resulting ".plm" files using the predicate load/1. One potential problem 
	is that the compiler definition of the compare/3 built-in predicate 
	returns the atom == instead of = for identical terms (contrary to every 
	other Prolog compiler!). You need to search the library files for all 
	calls of the compare/3 predicate and make the necessary changes.
	The built-in sort/2 predicate does not eliminate duplicates, which may 
	result in some problems with some of the examples. Don't forget to use 
	the chdir/1 predicate to set the working directory before loading the 
	library or an example.


B-Prolog 6.9 and later versions

	b.config

	For B-Prolog 6.9 and later versions. Don't forget to use the chdir/1 
	predicate to set the working directory before loading the library or 
	an example. Note that this configuration file redefines the B-Prolog 
	::/2 finite-domain built-in predicate (you may use the alternative 
	in/2 predicate instead).

	You can generate a new Prolog top level that includes the config file, the
	Logtalk compiler/runtime, and the library paths file by doing something 
	like:

		| ?- set_prolog_flag(redefined, off).

		| ?- compile(['configs/b.config', 'compiler/logtalk.pl', 'libpaths/libpaths.pl']).
	
	These calls will result in the creation of three files, "b.config.out", 
	"logtalk.pl.out", and "libpaths.pl.out". Place these files on the $BPDIR 
	directory and then copy the "bp" script to a "bplgt" file and modify it 
	by adding the names of the three *.out files after the "$BPDIR/bp.out" 
	file (prefixing them with $BPDIR/). You will probably need to increase 
	the sizes of the code areas on the "bplgt" script if you run into 
	out-of-memory errors with complex applications.


Bin-Prolog 8.x~10.x

	bin.config

	Start BinProlog using "bp -l4". You will need to create project files to 
	workaround the restriction of only one top-level file per interactive 
	session. For instance, the project file for the metapredicates example
	will look like (in the Unix version):
	
		:- ['$LOGTALKHOME/configs/bin.config'].
		:- ['$LOGTALKHOME/compiler/logtalk.pl'].
		
		:- ['$LOGTALKHOME/examples/metapredicates/meta.pl'].
		:- ['$LOGTALKHOME/examples/metapredicates/sort1.pl'].
		...
	
	You will probably want to have a project file including only the config
	and the pre-processor/runtime files (logtalk.pl) in order to compile the
	examples using logtalk_compile/1-2 (do NOT use logtalk_load/1-2 or the 
	provided loader files). Don't forget to call the cd/1 predicate to set 
	the working directory before compiling the library or an example. 
	Supports smart compilation of source files.

	Updated and tested with help of <NAME>.


CIAO Prolog 1.8p2 and later versions

	ciao.config
	ciao_aux.config

	The "ciao.config" file is just a loader file containing two include/1 
	directives which load the "ciao_aux.config" and the Logtalk compiler/
	runtime. You must edit the contents of the file ciao.config to match 
	your operating system (the include directive arguments are file paths 
	that differ between operating systems).

	The definition of the predicate '$lgt_predicate_property'/2 in the file 
	"ciao_aux.config" is a bit of a hack, but should enable you to run the 
	Logtalk companion examples and to try out your own Logtalk programs. 

	Don't forget to call the cd/1 predicate to set the working directory 
	before compiling the library or an example (you will need first to 
	load the library system that exports the cd/1 predicate by calling the 
	goal use_module(library(system)). Supports smart compilation of source 
	files.


CxProlog 0.93.x

	cx.config

	Experimental config file.


ECLiPSe 5.5~5.8

	eclipse.config
	eclipseiso.config

	There are two configs files for this compiler. The first one, named 
	"eclipse.config", should be used when, for some reason, we don't want 
	to load the "iso" library. The second file, "eclipseiso.config" contains 
	a call to load the "iso" library. Both config files may be used with
	ECLiPSe versions from 5.5 to 5.8
	
	You should use the eclipseiso.config whenever possible. The alternative 
	config file may not contain all the needed definitions for ISO Prolog 
	predicates that are needed for compiling Logtalk itself, the Logtalk 
	library, or the Logtalk examples.

	There is a clash between Logtalk and ECLiPSe regarding the ::/2 operator.<commit_msg>Improved documentation.<commit_after>=================================================================
Logtalk - Object oriented extension to Prolog
Release 2.28.0

Copyright (c) 1998-2006 <NAME>.  All Rights Reserved.
=================================================================


This file contains some notes about the config files provided. If you
improve or correct some of these files, or write new ones for other
Prolog compilers, please send me a copy. It is impossible for me to 
individually test Logtalk under each Prolog listed here (or, for that 
mater, to own a copy of each one of these compilers). For some of 
these Prolog compilers I only have the manuals available on-line.

As a general rule, always try to use the most recent version of your
Prolog compiler of choice. Most Prolog compilers are moving towards
better ISO Standard compatibility and, as a consequence, improved
Logtalk compatibility.


template config file

	template.config

	If a config file for your favorite Prolog is not available, use this 
	file as a template for writing one. For each predicate in the file, 
	see if it is built-in in your Prolog, available in a library, or if 
	you can write a better definition.


ALS Prolog 3.1

	als.config

	Only a few tests have been done with this compiler. One known problem: an
	ALS bug in operator handling that make calls like "\+ ::Pred" be 
	interpreted like "::(\+ Pred)" instead of "\+ (::Pred)". A workaround is 
	to replace all occurrences of "\+ ::Pred" by "\+ (::Pred)" and all 
	occurrences of "\+ Obj::Pred" by "\+ (Obj::Pred)". Please report any other 
	problems that you might find. Don't forget to use the cd/1 predicate to 
	set the working directory before loading the library or an example. Consult 
	the file builtins/comp_d10.pro in the ALS Prolog installation directory in 
	order to get the definition of predicate numbervars/3 needed by the Logtalk 
	built-in debugger. Supports smart compilation of source files. Does not 
	support the "altdirs" compiler flag.


Amzi! Prolog 7.4.10 and later versions

	amzi.config

	For Amzi! Prolog 7.4.10 and later versions. You need to patch the Logtalk 
	compiler (the "compiler/logtalk.pl" file) by searching for all calls of 
	':'/2 and wrap them inside call/1. For better performance, use the Amzi! 
	"acmp" command-line compiler to compile the files "configs/amzi.config",
	"compiler/logtalk.pl", and "libpaths/libpaths.pl" and then load the 
	resulting ".plm" files using the predicate load/1. One potential problem 
	is that the compiler definition of the compare/3 built-in predicate 
	returns the atom == instead of = for identical terms (contrary to every 
	other Prolog compiler!). You need to search the library files for all 
	calls of the compare/3 predicate and make the necessary changes.
	The built-in sort/2 predicate does not eliminate duplicates, which may 
	result in some problems with some of the examples. Don't forget to use 
	the chdir/1 predicate to set the working directory before loading the 
	library or an example.


B-Prolog 6.9 and later versions

	b.config

	For B-Prolog 6.9 and later versions. Don't forget to use the chdir/1 
	predicate to set the working directory before loading the library or 
	an example. Note that this configuration file redefines the B-Prolog 
	::/2 finite-domain built-in predicate (you may use the alternative 
	in/2 predicate instead).

	You can generate a new Prolog top level that includes the config file, the
	Logtalk compiler/runtime, and the library paths file by doing something 
	like:

		| ?- set_prolog_flag(redefined, off).

		| ?- compile(['configs/b.config', 'compiler/logtalk.pl', 'libpaths/libpaths.pl']).
	
	These calls will result in the creation of three files, "b.config.out", 
	"logtalk.pl.out", and "libpaths.pl.out". Place these files on the $BPDIR 
	directory and then copy the "bp" script to a "bplgt" file and modify it 
	by adding the names of the three *.out files after the "$BPDIR/bp.out" 
	file (prefixing them with $BPDIR/). You will probably need to increase 
	the sizes of the code areas on the "bplgt" script if you run into 
	out-of-memory errors with complex applications.


Bin-Prolog 8.x~10.x

	bin.config

	Start BinProlog using "bp -l4". You will need to create project files to 
	workaround the restriction of only one top-level file per interactive 
	session. For instance, the project file for the metapredicates example
	will look like (in the Unix version):
	
		:- ['$LOGTALKHOME/configs/bin.config'].
		:- ['$LOGTALKHOME/compiler/logtalk.pl'].
		
		:- ['$LOGTALKHOME/examples/metapredicates/meta.pl'].
		:- ['$LOGTALKHOME/examples/metapredicates/sort1.pl'].
		...
	
	You will probably want to have a project file including only the config
	and the pre-processor/runtime files (logtalk.pl) in order to compile the
	examples using logtalk_compile/1-2 (do NOT use logtalk_load/1-2 or the 
	provided loader files). Don't forget to call the cd/1 predicate to set 
	the working directory before compiling the library or an example. 
	Supports smart compilation of source files.

	Updated and tested with help of <NAME>.


CIAO Prolog 1.8p2 and later versions

	ciao.config
	ciao_aux.config

	The "ciao.config" file is just a loader file containing two include/1 
	directives which load the "ciao_aux.config" and the Logtalk compiler/
	runtime. You must edit the contents of the file ciao.config to match 
	your operating system (the include directive arguments are file paths 
	that differ between operating systems).

	The definition of the predicate '$lgt_predicate_property'/2 in the file 
	"ciao_aux.config" is a bit of a hack, but should enable you to run the 
	Logtalk companion examples and to try out your own Logtalk programs. 

	Don't forget to call the cd/1 predicate to set the working directory 
	before compiling the library or an example (you will need first to 
	load the library system that exports the cd/1 predicate by calling the 
	goal use_module(library(system)). Supports smart compilation of source 
	files.


CxProlog 0.93.x

	cx.config

	Experimental config file. Due to CxProlog native representation of file 
	paths, it's not currently possible to use library notation to load the 
	Logtalk examples and other source files.


ECLiPSe 5.5~5.8

	eclipse.config
	eclipseiso.config

	There are two configs files for this compiler. The first one, named 
	"eclipse.config", should be used when, for some reason, we don't want 
	to load the "iso" library. The second file, "eclipseiso.config" contains 
	a call to load the "iso" library. Both config files may be used with
	ECLiPSe versions from 5.5 to 5.8
	
	You should use the eclipseiso.config whenever possible. The alternative 
	config file may not contain all the needed definitions for ISO Prolog 
	predicates that are needed for compiling Logtalk itself, the Logtalk 
	library, or the Logtalk examples.

	There is a clash between Logtalk and ECLiPSe regarding the ::/2 operator.
{'fraction_non_alphanumeric': 0.07950581395348837, 'fraction_numerical': 0.01002906976744186, 'mean_word_length': 3.9163987138263665, 'pattern_counts': {'":': 2, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3170549', 'n_tokens_mistral': 4090, 'n_tokens_neox': 3712, 'n_words': 1937}