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.56.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: Support for calls to the database and reflection built-in methods where the predicate argument is only bound at runtime and is listed in a uses/2 or use_module/2 directive.
- ADDED: Support for using zero_or_error and zero_or_one_or_error number of proofs arguments in mode/2 directives.
- ADDED: Linter warnings for missing parenthesis around if-then-else and disjunction control constructs in the presence of cuts in the first argument.
- ADDED: Linter warnings for if-then-else and soft-cut control constructs where the test is a unification between a variable and a ground term.
- ADDED: Linter warning for naming of files that define a single entity as per coding guidelines. Controlled by the naming linter flag.
- IMPROVED: Generalized the linter check for findall/3 goals used in place of forall/2 goals.
- FIXED: Cases where name conflicts between built-in methods and predicates listed in public/1, protected/1, private/1, uses/2 and use_module/2 directives would not be reported.
- FIXED: Wrong arity in the compiler declaration of the forall/2 built-in method.
- FIXED: Bugs in the implementation of the asserta/2 and assertz/2 built-in methods where the second argument would not be bound in all cases.
Prolog adapter and integration files
- ADDED: Experimental Scryer Prolog adapter file support for compiling Prolog modules as objects.
- IMPROVED: The setup_call_cleanup/3 predicate definition for SICStus Prolog.
Documentation
- UPDATED: The lgtunit tool documentation sections on term-expansion of test objects, skipping tests, testing non-deterministic predicates, debugging tests, and backend timeout predicates.
- FIXED: The arbitrary library documentation on defining new arbitrary term generators.
Library
- ADDED: Predicate numberlist::median/2 to the types library.
- ADDED: Tests for custom generators to the arbitrary library category.
- IMPROVED: Performance of the arbitrary library category generation of Unicode code points.
- IMPROVED: API documentation of the meta_compiler, statistics, and term_io libraries.
- IMPROVED: The expecteds and optionals libraries tests to use explicit assertions.
- IMPROVED: The arbitrary library performance for several types.
- FIXED: The arbitrary library to not generate empty atoms for the callable type.
- FIXED: The arbitrary library category to not generate surrogate code points as edge cases for the unicode_full character set.
- FIXED: The arbitrary library category generation of Unicode code points included the non-valid code points 65535 and 1114111 as edge cases.
- FIXED: Typos in the mode/2 directives for the inorder/2 and postorder/2 predicates of the bintree library object.
- FIXED: Typos in the mode/2 directives for the os library file_size/2, file_modification_time/2, and file_permission/2 predicates.
- FIXED: Typo in the mode/2 directive for the remove_duplicates/2 predicate in the listp and varlistp library protocols.
- FIXED: The definition of the os::cpu_time/1 predicate for Tau Prolog.
Tools
- CHANGED: The lgtunit::quick_check/3 predicate to report a broken/2 reified result when the user-defined testing setup is broken.
- CHANGED: The lgtunit tool code coverage report format to enable reporting all test object parameterizations and files.
- CHANGED: The lgtunit tool messages in case of failed tests or steps to take into account the suppress_path_prefix flag when printing file paths.
- CHANGED: Renamed the code_metrics tool entity_score//2 non-terminal to format_entity_score//2.
- CHANGED: The default value for the diagrams tool omit_path_prefixes/1 option from an empty list to a list with the user home directory.
- ADDED: Linter warnings for missing documentation directives to the lgtdoc tool.
- ADDED: Support for printing clause usage stats to the ports_profiler tool.
- IMPROVED: API documentation of the debugger and lgtunit tools.
- IMPROVED: Minimized use of the term_io library by the diagrams tool.
- UPDATED: The lgtunit tool to explicitly handle and report QuickCheck test generation errors and failures.
- UPDATED: The lgtunit tool to handle unexpected QuickCheck test errors due to backend bugs by printing an informative message instead of reporting an unknown error message term.
- UPDATED: The tutor tool for the new linter warnings.
- FIXED: Typo in the mode/2 directive for the debug_messages::disable/1 predicate.
- FIXED: Typo in the mode/2 directive for the packs::save/2 predicate.
- FIXED: The lgtunit tool QuickCheck implementation of the verbose option to also apply when a generated test case throws an error.
- FIXED: If-then-else linter warning in the diagrams tool xref_diagram/1 object.
Examples
- IMPROVED: The aliases example tests to use explicit assertions.
- UPDATED: Documentation and sample queries of the cc example.
- UPDATED: The errors example to illustrate the linter warning for misuse of the standard findall/3 predicate and the new if-then-else, soft-cut, and disjunction linter warnings.
- FIXED: The bench example to only load the boyer and chat_parser benchmarks when the backend provides statistics/2 as a built-in predicate.
- FIXED: The benchmarks and module_aliases examples when using the Scryer Prolog backend.
- FIXED: If-then-else linter warnings in the dcgs and searching examples.
Contributions
- FIXED: Bug in the verdi_neruda implementation of the semi-naive bottom-up interpreter for general (stratified) logic programs.
Ports
- FIXED: Several if-then-else linter warnings in the toychr port.
Tests
- ADDED: Additional tests for the database methods that take a clause reference.
- ADDED: Additional tests for the ISO Prolog standard char_code/2, current_op/3, and op/3 built-in predicates.
- ADDED: Additional tests for the atomic_list_concat/2-3 and atomic_concat/3 predicates.
- UPDATED: The predicate_property/2 predicate tests to accept bagof/3 and setof/3 meta-predicate templates that use ^ instead of 0 for the meta-argument.
- FIXED: Tests for the Logtalk {}/1 control construct when the expected error may contain a module-qualified term.
- FIXED: Tests for the Prolog (,)/2, (;)/2, (->)/2-3, (*->)/2-3, abolish/1, bagof/3, call/1, call/2-N, catch/3, findall/3-4, if/3, once/1, and setof/3 control constructs and predicates when the expected error may contain a module-qualified term.https://github.com/LogtalkDotOrg/logtalk3/blob/master/RELEASE_NOTES.md#3560---june-9-2022