hatlog VS mercury

Compare hatlog vs mercury and see what are their differences.

hatlog

custom type systems for python in prolog: http://alehander42.me/prolog_type_systems (by andychu)

mercury

The Mercury logic programming system. (by Mercury-Language)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
hatlog mercury
1 2
1 876
- 1.4%
0.0 9.8
over 5 years ago 3 days ago
Python Mercury
Apache License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

hatlog

Posts with mentions or reviews of hatlog. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-01-05.
  • Why Learn Prolog in 2021?
    8 projects | news.ycombinator.com | 5 Jan 2021
    A couple years ago I hacked on a Python type inferencer someone wrote in Prolog. I wasn't enlightened, despite expecting to be, from a bunch of HN posts like this.

    https://github.com/andychu/hatlog

    For example, can someone add good error messages to this? It didn't really seem practical. I'm sure I am missing something, but there also seemed to be a lot of deficiencies.

    In fact I think I learned the opposite lesson. I have to dig up the HN post, but I think the point was "Prolog is NOT logic". It's not programming and it's not math.

    (Someone said the same thing about Project Euler and so forth, and I really liked that criticism. https://lobste.rs/s/bqnhbo/book_review_elements_programming )

mercury

Posts with mentions or reviews of mercury. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-01-05.
  • Term for translating between enum switch vs map lookup?
    1 project | /r/Compilers | 31 Mar 2023
    The Mercury compiler uses all of these techniques and more. Start here in the source code, and read the comments: https://github.com/Mercury-Language/mercury/blob/master/compiler/switch_gen.m
  • Why Learn Prolog in 2021?
    8 projects | news.ycombinator.com | 5 Jan 2021
    I'm not convinced there's great utility in smart contracts, but if there is, I think there's a huge utility in contracts being declarative and statically typed, to avoid many of the problems we've seen with existing contracts. In that case, a statically typed Prolog dialect would be a good starting point. The contract would be a set of declarative rules describing acceptable next states of the contract. To make the contracts verifiable in linear time, the submitter would submit the next state of the contract, plus a compact binary representation of the path taken through the rules set, so no backtracking would occur in the verifier. You could allow recursion, as verification time would still be linear in the size of the submitted compact path representation, just not linear in the size of the contract. If you disallow recursion, then verification would also be linear in the size of the contract.

    Granted, many of the problems with Ethereum Solidity contracts are more to do with all of its use of implicit behavior (in a misguided attempt to hide the complexity of contracts) rather than directly consequences of Solidity being imperative.

    Here's a quick plug for Mercury[0], a statically typed dialect of Prolog with an optimizing native code compiler. Supposedly it's 5 to 10 times faster than commercial Prolog compilers or available interpreters.

    [0] https://github.com/Mercury-Language/mercury

What are some alternatives?

When comparing hatlog and mercury you can also consider the following projects:

pyswip - PySwip is a Python - SWI-Prolog bridge enabling to query SWI-Prolog in your Python programs. It features an (incomplete) SWI-Prolog foreign language interface, a utility class that makes it easy querying with Prolog and also a Pythonic interface.

awesome-prolog - Curated list of Prolog packages and resources

core.logic - A logic programming library for Clojure & ClojureScript

Searching-In-An-Infinite-Space-Prolog - PP2014 Prolog Homework

clojure-graph-resources - A curated list of Clojure resources for dealing with graph-like data.

lira - Lira is a declarative domain-specific language designed to be the backbone of financial contracts that can be executed on the blockchain