The Mercury logic programming system

https://github.com/Mercury-Language/mercury

Comments

mattgoupilMay 20, 2026, 1:09 PM
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.
ElectroSlayerMay 20, 2026, 2:18 AM
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.
zeafoamrunMay 20, 2026, 7:57 AM
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_octetMay 20, 2026, 12:48 PM
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.
ofrzetaMay 20, 2026, 1:04 PM
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_octetMay 20, 2026, 12:42 PM
I hope he's stopped drinking Fanta.
5-May 20, 2026, 8:01 AM
prince, a high quality html renderer used for typesetting, is written in mercury:

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

sreanMay 20, 2026, 2:39 PM
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.

thechaoMay 20, 2026, 3:09 AM
The closest that I could find to a "what the fuck is this?" page is:

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

ororroroMay 20, 2026, 3:13 AM
There are files in this repository that were last touched 32 years ago. Any reason to be posting it now?
kaonwarbMay 20, 2026, 4:30 AM
Not that it necessarily applies here, but as a heuristic: https://en.wikipedia.org/wiki/Lindy_effect
ororroroMay 20, 2026, 4:43 AM
Interesting point. My understanding of Mercury is that it is hard carried by Zoltan so it has a bus factor of 1.
zeafoamrunMay 20, 2026, 7:27 AM
I always understood it was a teaching language for students who wanted to get programming language implementation experience.
epguiMay 20, 2026, 3:18 AM
Why is that relevant or noteworthy? There are files that were updated recently too.
ororroroMay 20, 2026, 3:50 AM
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.
hackyhackyMay 20, 2026, 4:10 AM
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?
sreanMay 20, 2026, 2:42 PM
"Taking off" is an unreliable metric of capability and fitness to a problem you may want solved.
epguiMay 20, 2026, 2:09 PM
There was no aggression.
zeafoamrunMay 20, 2026, 7:59 AM
Damn dude you're making me feel old
KnuthIsGodMay 20, 2026, 4:34 AM
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.

kryptisktMay 20, 2026, 7:01 AM
Last commit was 2 minutes ago. Seems like a better measure than releases, different projects have different release cadences.
jamwiseMay 20, 2026, 5:19 AM
But the repo has had fairly consistent commits since then. Not huge activity, but not sure I'd call it dead.
wduquetteMay 20, 2026, 3:04 PM
You say “dead”, I say “stable”. Not everyone wants to base their work on a moving target.