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.83.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
- CHANGED: The representation error argument when calling context/1 built-in method would create a cyclic term from cyclic_term to acyclic_term.
- CHANGED: The exception term when trying to define a predicate inside a protocol to use a permission type of predicate instead of clause.
- CHANGED: All compiler domain errors for consistency errors to use the new consistency_error/3 built-in method.
- ADDED: New consistency_error/3 built-in method.
- IMPROVED: Linter warnings for trivial fails to distinguish between predicate and non-terminal goals.
- IMPROVED: Compiler warnings on missing scope directives for non-terminals.
- IMPROVED: Internal documentation of the compiler and runtime.
- FIXED: When calling threaded engines built-in predicates using a backend that doesn't support engines, throw a resource_error(engines) instead of a resource_error(threads) error.
- FIXED: Compiler redundant check if a recursive call to a meta-predicate complies with the expected number of additional arguments for closures.
- FIXED: Compiler bug when using a uses/2 directive to change the order of the arguments of a predicate and using the predicate alias as a closure.
- FIXED: Disjunction optimization bug when the left-side is a variable and the disjunction is an argument of the call/1 control construct.
- FIXED: Case where the compiler would report the wrong error when a source file defined category declares a predicate or a non-terminal dynamic textually after its definition.
- FIXED: Protect the linter check for goals that are always true or false from unexpected exceptions and report them instead of aborting compilation with an error.
Prolog adapter and integration files
- UPDATED: The XVM adapter file with additional candidate built-in predicates for checking tautology and falsehood goals.
Documentation
- ADDED: Handbook section with guidelines for describing predicates in info/2 directives.
- IMPROVED: Handbook documentation of the representation_error/1, resource_error/1, existence_error/2, and permission_error/3 built-in methods.
- IMPROVED: Handbook section on the mode/2 predicate directive.
- IMPROVED: Handbook section on lambda expressions.
Tools
- CHANGED: The lgtunit tool run_test_sets/1 predicate to also accept a list with a single test set or an empty list as argument.
- UPDATED: The help tool to be aware of the new consistency_error/3 built-in method.
- UPDATED: The tutor tool to explain consistency errors.
Examples
- UPDATED: The errors example to illustrate consistency errors.
Tests
- ADDED: Additional test for the Prolog standard logical update semantics.
- ADDED: Additional tests for the Prolog standard arg/3, atom_chars/2, atom_codes/2, number_chars/2, number_codes/2, current_predicate/1, clause/2, nl/0-1, op/3, retractall/1, and term_variables/2 built-in predicates.
- IMPROVED: Tests for the (=..)/2, abolish/1, and functor/3 Prolog standard predicates.
- IMPROVED: Tests for the Prolog call/1 control construct to delay expected errors to runtime.
- UPDATED: Tests for the missing_directives and trivial_goal_fails linter flags.
- UPDATED: The tests for the Prolog standard op/3 for Trealla Prolog which now allows defining an atom as both an infix and a postfix operator.
Installers and installation scripts
- FIXED: The Docker file for building the SWI-Prolog based image to properly define the INFOPATH and MANPATH environment variables.https://github.com/LogtalkDotOrg/logtalk3/blob/master/RELEASE_NOTES.md#3830---september-24-2024