Aquesta és una versió anterior. La versió actual és la 3.102.0. Logtalk 3.102.0 · Data de publicació:
Fitxers d’instal·lació 3.73.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| Qualsevol processador | EXE (Inno Setup) | Tots els usuaris | — | logtalk.org | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
Logtalk compiler and runtime
- ADDED: Linter warnings for deprecated arithmetic functions.
- ADDED: Linter warning for comparing numbers using unification.
- ADDED: Linter warnings for Quintus Prolog predicate versions of arithmetic functions.
- ADDED: Additional legacy built-in predicates for linter deprecated warnings.
- ADDED: Support for using backend-declared deprecated built-in predicates in linter warnings.
- IMPROVED: When checking the availability of predicates in user for uses/2 and use_module/2 directives, also check for an imported_from/1 predicate property.
- IMPROVED: Avoid false positive linter warnings about non-terminals called as predicates when the caller is a phrase-like predicate declared in the backend adapter file. Thanks to Yurii Rashkovskii for the use-case report.
- IMPROVED: Compiler reporting of term-expansion errors to write the source term.
- FIXED: Unknown and undefined predicate call warnings when the calls occur in an included file to report the actual location instead of the main file.
- FIXED: Only print linter warnings related to grammar rules when the flag grammar_rules is set to warning.
Prolog adapter and integration files
- CHANGED: B-Prolog support status to "experimental". Bugs and limitations on atom representation result in silent failures when loading libraries and tools.
- ADDED: Support for declaring phrase-like predicates that call non-terminals. This helps preventing false positive linter warnings of non-terminals called as predicates.
- ADDED: Support for declaring deprecated built-in predicates (with or without advised alternatives) in the adapter files.
- IMPROVED: ECLiPSe definition of the '$lgt_current_module_predicate'/2 internal predicate.
- UPDATED: The CxProlog adapter file to require version 0.98.2 or later.
- UPDATED: The LVM adapter file to prevent a clash with the term_hash/4 built-in predicate introduced in an upcoming version.
- UPDATED: The SWI-Prolog adapter file to load the prolog_evaluable library when available (provides the evaluable_property/2 predicate used by the linter).
Documentation
- IMPROVED: Handbook grammar section now uses W3C-style EBNF syntax compatible with the Railroad Diagram Generator. Several typos and omissions are also fixed. Thanks to Domingo Alvarez Duarte for his contribution and bug report.
- IMPROVED: Handbook section on parametric objects.
- IMPROVED: Documentation of the wrapper tool.
- UPDATED: The manual installation instructions on generating documentation human-readable formats.
- UPDATED: The man page for the lgt2pdf shell script.
Library
- REMOVED: The tsv object from the csv library.
- ADDED: Experimental mutations library for generating random mutations of terms of selected types. Intended for eventual fuzz testing support.
- ADDED: New tsv library for reading and writing TSV files.
- ADDED: Library predicates list::occurrences/2-3 to count the number of occurrences of list elements.
- ADDED: Library predicate numberlist::least_common_multiple/2.
- ADDED: Predicates select/4, swap/2, and swap_consecutive/2 to the random library for returning a random member of a list, replacing it by a new element and returning the resulting list, and for swapping two randomly chosen elements of a list.
- ADDED: Non-terminals zero_or_more//2, one_or_more//2, and without//2 to the sequence_grammars library object.
- IMPROVED: Performance of the reader library predicates that read a file or a stream to a list of chars, codes, or bytes.
- IMPROVED: Performance of the term_io library predicates.
- UPDATED: The csv library to also recognize .tab file extension for TSV files.
- FIXED: The documentation of the pairs::keys_values/3 library predicate.
- FIXED: The os library tests calls to the shell/1 predicate from auxiliary predicates.
- FIXED: The listing library category implementation of the listing/1 predicate.
- FIXED: The sequence_grammars library object definition of the non-terminals zero_or_more//0-1 and one_or_more//0-1 to consume tokens eagerly.
Tools
- UPDATED: The lgtunit tool to also print the tests runtime in seconds.
- UPDATED: The tutor tool for the new arithmetic function linter warnings and the new linter warning for comparing numbers using unification.
- FIXED: The debugger tool checking for a deterministic goal for CxProlog.
- FIXED: The lgtunit tool definition of the deterministic/1-2 predicates for CxProlog.
- FIXED: The logtalk_tester scripts to detect and report as broken test sets where the tests failed to run due to an unexpected loading error likely caused by a backend bug.
- FIXED: The lgt2html.ps1, lgt2md.ps1, lgt2rst.ps1, and lgt2txt.ps1 PowerShell scripts to release the lock on the XML files after converting them to reStructuredText files.
- FIXED: Error in the wrapper tool when printing missing directives advice.
Examples
- ADDED: New haunted_wasteland example, providing a solution for the Advent of Code 2023 Day 8 problem.
- ADDED: New scratchcards example, providing a solution for the Advent of Code 2023 Day 4 problem.
- ADDED: New trebuchet example, providing a solution for the Advent of Code 2023 Day 1 problem.
- ADDED: Tests to the poem, profiling, and self_vs_this examples.
- UPDATED: The errors example for the new arithmetic function linter warnings.
- UPDATED: The bench example to remove dependency on the deprecated name/2 built-in predicate and eliminate all linter warnings.
- FIXED: The bench example to always load the boyer and chat_parser benchmarks and to also run by default the flatten benchmark.
- FIXED: The benchmarks example not loading the module.pl file from the loader_events.lgt and loader_no_events.lgt files when using Tau Prolog.
Tests
- ADDED: Additional tests for the phrase/2-3 built-in methods.
- FIXED: Test for the setof/3 built-in method.
Installers and installation scripts
- UPDATED: The macOS installer to add /opt/local/bin to the default system PATH environment variable, /opt/local/man to the default system MANPATH environment variable, and /opt/local/share/info to the default system INFOPATH environment variable.
- UPDATED: The macOS installer to inform the user about the additions to the PATH, MANPATH, and INFOPATH environment variables.
- FIXED: The logtalk_user_setup.ps1 PowerShell script to use a valid path for the backup directory.https://github.com/LogtalkDotOrg/logtalk3/blob/master/RELEASE_NOTES.md#3730---december-12-2023