Settings

Theme

The Mercury logic programming system

github.com

95 points by Antibabelic 3 months ago · 23 comments

Reader

mattgoupil 3 months ago

Something you might find interesting to look at is Rego, a datalog-derived language been used for writing security policies. Rego is dynamically typed, so no real protection. It's input is basically JSON and it can apply JSON-Schema, but that's it. I think it would be interesting to look at Rego as a restricted version of this and see what types buys for a Rego user. It's probably one of the larger areas of logic programming and has brought people into the fold, so to speak.

ElectroSlayer 3 months ago

Oh wow, Zoltan was one of my lecturers at UniMelb, and in one semester we were tasked with learning his Mercury language. So good to see it thriving still.

  • zeafoamrun 3 months ago

    I TA-ed for Zoltan's 2nd year "learning how to use bash/gdb/etc" class and it was a lot of fun. I hope they're still teaching that class.

    • angry_octet 3 months ago

      It was called "433-252 Software Engineering Principles & Tools" until ~2008 I think (433-244 before that) but then it seems to have been reorganised. Tbh, Unimelb Comp Sci is a shadow of it's former self, a victim of the 'Melbourne Model' common core sausage factory concept.

      • ofrzeta 3 months ago

        Is it the same model as the "Bologna process" in Europe, which is kind of funny because "Bologna" also refers to a type of sausage in the US of A.

  • angry_octet 3 months ago

    I hope he's stopped drinking Fanta.

5- 3 months ago

prince, a high quality html renderer used for typesetting, is written in mercury:

https://www.princexml.com/doc/acknowledgements/

  • srean 3 months ago

    Was it written in Prolog at any point in time ?

    Perhaps I am misremembering, but my brain is telling me of a CSS or PDF parser written in Prolog.

thechao 3 months ago

The closest that I could find to a "what the fuck is this?" page is:

https://www.mercurylang.org/about.html

ororroro 3 months ago

There are files in this repository that were last touched 32 years ago. Any reason to be posting it now?

  • kaonwarb 3 months ago

    Not that it necessarily applies here, but as a heuristic: https://en.wikipedia.org/wiki/Lindy_effect

    • ororroro 3 months ago

      Interesting point. My understanding of Mercury is that it is hard carried by Zoltan so it has a bus factor of 1.

      • zeafoamrun 3 months ago

        I always understood it was a teaching language for students who wanted to get programming language implementation experience.

  • epgui 3 months ago

    Why is that relevant or noteworthy? There are files that were updated recently too.

    • ororroro 3 months ago

      Why the aggression? This language while cool has existed for decades and never taken off. I just wanted a reason to believe it relevant so I could have an excuse to take another look.

      • hackyhacky 3 months ago

        Why do you think "oldest untouched file" is a good metric for relevance? Do you know what is the oldest untouched file in gcc or Python?

      • srean 3 months ago

        "Taking off" is an unreliable metric of capability and fitness to a problem you may want solved.

      • epgui 3 months ago

        There was no aggression.

  • zeafoamrun 3 months ago

    Damn dude you're making me feel old

KnuthIsGod 3 months ago

Last release was in 2023.

It is effectively dead.

This is a terrible shame, because this would have been an nice modern alternative to Prolog.

  • kryptiskt 3 months ago

    Last commit was 2 minutes ago. Seems like a better measure than releases, different projects have different release cadences.

  • jamwise 3 months ago

    But the repo has had fairly consistent commits since then. Not huge activity, but not sure I'd call it dead.

  • wduquette 3 months ago

    You say “dead”, I say “stable”. Not everyone wants to base their work on a moving target.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection