Logtalk
Logtalk
3.52.0
5.0
0.0
Logtalk free download for Mac

Logtalk

Version 3.52.0

Object-oriented logic programming language.

Logtalk overview

Logtalk is an Open-Source, object-oriented logic programming language that extends and leverages the Prolog language with a feature set suitable for programming in-the-large.

Logtalk supports modern code encapsulation and code reuse mechanisms without compromising the declarative programming features of Prolog. Logtalk is implemented in highly portable code and can use most modern and standards compliant Prolog implementations as a back-end compiler. The Logtalk distribution features portable libraries and portable assertions, documenting, diagraming, and unit testing tools, plus extensive code editing and publishing support. It also includes extensive documentation and a large number of programming examples.

What’s new in version 3.52.0

Updated on Dec 07 2021

Version 3.52.0:
  • CHANGED: A partial list of terminals in the first argument of a grammar rule body to generate an instantiation error as per the standardization proposal.
  • IMPROVED: Generalized the linter checks for is/2 and (=:=)/2 goals to cases where the expression arguments are not ground but their type can be inferred.
  • FIXED: Processing of conditional compilation directives in included files.
  • FIXED: Duplicated linter warnings for some DEC-10 Prolog I/O predicates.
  • FIXED: The pack library paths to always end with a slash.
  • FIXED: Explicit messages to the user pseudo-object when the predicate being called is a meta-predicate.
  • FIXED: Avoid a warning when embedding Logtalk due to the definition of the forward/1 predicate in the user pseudo-object.
  • UPDATED: The LVM adapter file to require version 2.0.0 or later.
  • UPDATED: The Trealla Prolog adapter file to require version 1.16.6 or later.
  • UPDATED: The Tau Prolog adapter file to require version 0.3.1 or later.
  • FIXED: The Trealla Prolog integration script to support "- Arguments" passed by other scripts (e.g. logtalk_tester script) that call it.
  • FIXED: The GNU Prolog adapter file to allow the consult/1 built-in predicate to be called from within objects and categories without requiring overriding its meta-predicate template.
  • FIXED: The YAP adapter file definition of the internal predicate '$lgt_load_prolog_file'/1.
  • ADDED: Section on creating and using virtual environments to the packs tool documentation.
  • IMPROVED: Documentation of the logtalk built-in object trace_event/2 and debug_handler/2 predicates.
  • IMPROVED: Man pages of the integration scripts.
  • IMPROVED: Documentation on using the lgtunit tool QuickCheck support.
  • UPDATED: The documentation of the logtalk_library_path/2 predicate for the logtalk_packs library alias.
  • UPDATED: The settings-sample.lgt with sample code for defining the new logtalk_packs library alias.
  • FIXED: The update_html_docs.sh and update_svg_diagrams.sh scripts to work with all supported backends.
  • FIXED: The type library object type-checking for the list, chars, and codes types to always throw instantiation errors whenever the term being checked is a partial list. Before, a type error would be throw if the term was a partial list but not a variable.
  • ADDED: Library format that abstracts how the different backends make available the de facto standard format/2-3 predicates.
  • ADDED: Library dif that abstracts how the different backends make available the dif/2 predicate when implemented.
  • ADDED: Parametric object object_wrapper_hook/1 to the hook_objects library.
  • ADDED: Partial support for XSB to the coroutining library.
  • ADDED: Additional tests for the coroutining library.
  • ADDED: Predicate copy_file/2 to the os library.
  • IMPROVED: Performance of the arbitrary library tests.
  • CHANGED: The diagrams tool dot graph language export now uses the generic Monospace font name and output SVG files using the dot command -Gfontnames=svg option to avoid issues with text overflowing boxes.
  • CHANGED: The debugger tool loader file to also load the dump_trace object.
  • CHANGED: The packs tool save/1 and restore/1-2 predicates to save and restore pinning status.
  • CHANGED: The packs tool registries object predicate defined/3 to defined/4.
  • CHANGED: The packs tool lint/1-2 predicates to fail when specification errors are detected.
  • ADDED: Predicates text_output_contents/1-3 and binary_output_contents/1-2 to the lgtunit tool.
  • ADDED: Support for defining, saving, and restoring a simple form of packs virtual environments.
  • ADDED: Support for defining the packs tool directory used to store packs and registries using the logtalk_packs library alias (which can be defined e.g. in a settings file).
  • ADDED: Predicates logtalk_packs/0-1, readme/1, delete/0, pin/0, unpin/0, uninstall/0, and reset/0 to the packs tool.
  • IMPROVED: The packs tool to handle all dependency relations including range dependencies.
  • IMPROVED: The packs tool to print a warning if the pack being installed or updated requires a different backend from the one running the tool.
  • UPDATED: The packs::clean/0 predicate to not leave empty directories behind.
  • FIXED: The packs tool packs::dependents/1-3 predicates to avoid duplicated results.
  • FIXED: The packs tool registries::add/3 predicate to delete a registry prior to re-adding it when using the force(true) option to prevent a git cloning failure.
  • FIXED: The packs tool registries::clean/0 predicate to delete all registry archives instead of only of those registries that are defined.
  • FIXED: The packs tool logtalk_packs/1 predicate to return a path using the backend internal format instead of the operating-system format.
  • FIXED: Workaround packs tool portability issue with Ciao Prolog due to this system lack of supported for standard multifile predicate semantics.
  • FIXED: Adding a registry or installing a pack from a local archive using a URL with non-escaped spaces.
  • FIXED: Bug in the packs tool registries::defined/4 predicate report on how a registry is installed which could return directory for registries defined via archives.
  • FIXED: A packs tool typo in the identifier for the Trealla Prolog backend.
  • FIXED: Missing tutor tool explanation for non-tail recursive non-terminal definitions.
  • FIXED: The debugger tool dump_trace utility object to ensure that it’s always compiled in non-debug mode.
  • CHANGED: The books example to avoid test failures due to irrelevant float printing issues.
  • UPDATED: The coinduction example tests to use explicit assertions.
  • UPDATED: The errors example to illustrate the generalized linter checks.
  • UPDATED: The figures example to use the new dif library instead of the coroutining library to allow running with some more backend Prolog systems.
  • ADDED: Tests for the valid syntaxes of the Prolog standard dynamic/1, discontiguous/1, meta_predicate/1, multifile/1, and op/3 directives.
  • ADDED: Tests for the Prolog standard discontiguous/1, ensure_loaded/1, include/1, initialization/1, multifile/1, and op/3 directives.
  • ADDED: Tests for the Prolog standard compound term syntax.
  • ADDED: Additional tests for the writeq/2 predicate for atoms that require quoting to be input back correctly.
  • ADDED: Tests for the write_term/3 predicate for writing of compound terms with (,)/2 arguments.
  • ADDED: Additional test for the ::/2 message-sending control construct.
  • ADDED: Additional test for the use_module/2 Logtalk directive.
  • ADDED: Tests for the Logtalk predicate_property/2 method to check for predicate declaration and definition term position properties.
  • ADDED: Tests for the de facto standard format/2-3 predicates for using the back-quote character for specifying a table fill character in format strings.
  • UPDATED: Tests for the de facto standard format/2-3 predicates to also check format strings specified using a list of character codes or a list of characters.

Full list of changes available here

Information

License

Downloads

App requirements

    Try our new feature and write a detailed review about Logtalk. All reviews will be posted soon.
    Write your thoughts in our old-fashioned comment
    MacUpdate Comment Policy. We strongly recommend leaving comments, however comments with abusive words, bullying, personal attacks of any type will be moderated.
    0.0
    (0 Reviews of )
    There are no reviews yet
    Quantumpanda
    Quantumpanda
    Jan 13 2015
    3.00.0
    0.0
    Jan 13 2015
    0.0
    Version: 3.00.0
    Why doesn't MacUpdate Desktop inform me of updates to LogTalk? MUD ought to be able to recognize the presence of any software the website lists.
    Free
    FreeAbsolutely Free
    How would you rate Logtalk?
    Similar apps
    Python
    Object-oriented programming language.
    Is this app is similar to Python? Vote to improve the quality of this list.
    Vote results
    1
    Upvotes
    1
    Total score
    0
    Downvotes
    Processing
    Programming language for electronic arts.
    Is this app is similar to Processing? Vote to improve the quality of this list.
    Vote results
    1
    Upvotes
    1
    Total score
    0
    Downvotes
    Agena
    Procedural programming language.
    Is this app is similar to Agena? Vote to improve the quality of this list.
    Vote results
    1
    Upvotes
    1
    Total score
    0
    Downvotes
    Racket
    Popular variant of the Scheme programming language.
    Is this app is similar to Racket? Vote to improve the quality of this list.
    Vote results
    1
    Upvotes
    1
    Total score
    0
    Downvotes
    Scala
    The Scala Programming Language.
    Is this app is similar to Scala? Vote to improve the quality of this list.
    Vote results
    1
    Upvotes
    1
    Total score
    0
    Downvotes