94

The Mercury logic programming system

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.

3 days agomattgoupil

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.

3 days agoElectroSlayer

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.

3 days agozeafoamrun

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.

3 days agoangry_octet

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.

3 days agoofrzeta

I hope he's stopped drinking Fanta.

3 days agoangry_octet

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

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

3 days ago5-

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.

3 days agosrean

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

3 days agoororroro

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

3 days agokaonwarb

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

3 days agoororroro

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

3 days agozeafoamrun

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

3 days agoepgui

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.

3 days agoororroro

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?

3 days agohackyhacky

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

3 days agosrean

There was no aggression.

3 days agoepgui

Damn dude you're making me feel old

3 days agozeafoamrun

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.

3 days agoKnuthIsGod

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

3 days agokryptiskt

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

3 days agojamwise

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