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.66.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: New parameter_variables, variable_names(Term), and singletons(Term) keys to the logtalk_load_context/2 built-in predicate.
- ADDED: Two new meta-messages, [Stream,Prefix]>>Goal and [Stream]>>Goal, to the message printing mechanism. These new meta-messages allow calling a user-defined printing goal. The use of lambda expressions allow passing the message stream and prefix.
- ADDED: Linter warning for predicates called as non-terminals from grammar rules.
- ADDED: Linter warning for unclassified (but non-singleton and non-anonymous) variables in Free/Goal lambda expressions.
- ADDED: Linter warning for object, predicate, and non-terminal aliases that are not distinct from the originals.
- ADDED: Linter warning for (:)/2 goals when using a backend Prolog system that doesn't support modules and when not compiling a module as an object. Thanks to Lindsey Spratt for the suggestion.
- ADDED: Linter warning for use_module/1-2 file directives when using a backend Prolog system that doesn't support modules.
- ADDED: Linter warning for use_module/1-2 entity directives when using a backend Prolog system that doesn't support modules and not compiling a module as an object.
- IMPROVED: Reporting of calls to undefined predicates and unknown predicates from auxiliary clauses (e.g. generated while compiling lambda expressions).
- FIXED: Ensure that the startup library alias is found before the runtime constructed pack library aliases.
- FIXED: Linter warning for unknown entities to only report unknown Prolog modules when the backend system actually support modules.
- FIXED: Linter warning for unknown messages to only report calls to unknown Prolog module predicates when the backend system actually support modules.
Prolog adapter and integration files
- UPDATED: The Trealla Prolog adapter file to require version 2.17.10 or later.
- FIXED: The Quintus Prolog adapter file definition for the subsumes_term/2 standard predicate.
- FIXED: The Scryer Prolog adapter filer to not declare module meta-predicates as built-in meta-predicates.
Documentation
- ADDED: Handbook description and examples of the new meta-messages.
- IMPROVED: Handbook documentation of the dynamic/0, include/1, and mode/2 directives.
- IMPROVED: Handbook documentation of the logtalk_library_path/2 predicate.
- IMPROVED: Handbook documentation on definite clause grammars.
- IMPROVED: Handbook documentation on disjunctions and conditionals linter flags.
- IMPROVED: Documentation of the packs tool on requirements plus saving and restoring (virtual) environments.
- IMPROVED: Documentation of the linter, lgtunit, and tutor tools.
Library
- CHANGED: The hook_objects library loader file to only load the prolog_module_hook/1 object when running on a backend Prolog system supporting modules.
- ADDED: New ulid library for generating Universally Unique Lexicographically Sortable Identifiers.
- REMOVED: The term library object definition for the deprecated and no longer declared vars/2 predicate.
- CHANGED: Declare the termp library protocol variables/2 predicate deprecated.
- IMPROVED: Simplify the term library object variant/2 predicate.
- UPDATED: The os library for LVM to use the new date_time/7 built-in predicate when available.
- FIXED: Delete dead code in the the csv and statistics libraries.
Tools
- IMPROVED: The dead_code_scanner tool no longer reports predicates listed in uses/2 or use_module/2 directives that are made available as scoped predicates by the object (or category) containing the directives.
- IMPROVED: The dead_code_scanner tool no longer reports predicates defined in a complementing category when the complemented object contains or inherits a scope directive for the predicate.
- IMPROVED: The tutor tool explanation for compiler errors when trying to redefine the meaning of predicates listed in uses/2 or use_module/2 directives.
- UPDATED: The tutor tool to explain the new linter warnings.
- UPDATED: The tutor tool to also explain the linter warning on missing else part in if-then-else and soft-cut control constructs.
- FIXED: The packs tool describe/1-2 and directory/2 predicates when listing orphaned packs.
- FIXED: Syntax error when loading the lgtdoc tool using the XSB backend.
- FIXED: Bug in the validation code for the lgtdoc tool predicate entity_xsl_file and index_xsl_file options.
- FIXED: Delete dead code in the the diagrams tool.
Examples
- IMPROVED: Documentation of the clustering, document_converter, and neo4j examples.
- UPDATED: The errors example to illustrate lambda expression linter warnings and the new linter warnings.
- UPDATED: The symbiosis example for Scryer Prolog.
- FIXED: Example bench cases where predicates were called as non-terminals.
Tests
- ADDED: Additional tests for the Prolog standard op/3, number_chars/2 and number_codes/2 predicates.
- ADDED: Additional tests for the de facto Prolog standard numbervars/3 predicate.
- FIXED: Test for the current_op/3 predicate (compliance with the ISO/IEC 13211-1:1995(E) standard, section 8.14.4.1 NOTES).
Contributions
- UPDATED: Automate some of the xml_parser contribution original tests.
- FIXED: Cases in the xml_parser contribution where predicates were called as non-terminals.
Installers and installation scripts
- FIXED: The Windows installer to write the Logtalk version to the registry DisplayVersion property. Fix contributed by the GitHub user SpecterShell.https://github.com/LogtalkDotOrg/logtalk3/blob/master/RELEASE_NOTES.md#3660---may-30-2023