A Tutorial for the Mercury Programming Language
Posted4 months agoActive3 months ago
sebastian.graphicsTechstory
calmmixed
Debate
20/100
Mercury Programming LanguageProgramming ParadigmsNiche Technologies
Key topics
Mercury Programming Language
Programming Paradigms
Niche Technologies
A tutorial for the Mercury programming language was shared, sparking discussion about the language's unique features and its potential for mainstream adoption.
Snapshot generated from the HN discussion
Discussion Activity
Moderate engagementFirst comment
4d
Peak period
6
96-108h
Avg / period
2.7
Key moments
- 01Story posted
Sep 26, 2025 at 10:23 AM EDT
4 months ago
Step 01 - 02First comment
Sep 30, 2025 at 9:31 AM EDT
4d after posting
Step 02 - 03Peak activity
6 comments in 96-108h
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 1, 2025 at 10:04 AM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45386836Type: storyLast synced: 11/20/2025, 4:47:35 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
"I don't know why anyone would choose to learn this unless they're a very specific kind of masochist"
Well, there are all types in the computer science community, so to each their own. The quote from Alan Perlis in 1982 is definitely interesting too:
"A language that doesn't affect the way you think about programming is not worth knowing"
I'm sure this made a lot of sense in 1982, but it most definitely is not true now. As a mathematician doing a fair amount of numerical analysis, I must know several programming languages, all of which do roughly the same sort of thing, simply because important implementations of certain algorithms are historically spread across multiple languages. God help me if there is an important implementation of something in Mercury that I'll need to decipher one day...
But Mercury is not a language of the same paradigm as those (imperative, array oriented maybe). It's a logical programming language which I must guess, you probably never used any language of this category. In fact many features of logic programming languages never made to mainstream programming languages or they're behind some uncommon libraries.
I guess that is my point; all of the languages I know are of the same paradigm, but I need to know them all for work. So I disagree with the assertion that only languages of a different paradigm from the one you know is worth learning.
I think you're taking that statement too literally, and way too seriously. Many of the epigrams are a bit tongue in cheek, and that one is too.
https://gwern.net/doc/cs/algorithm/1982-perlis.pdf - Full list as a PDF
127 is instructive here:
> 127. Epigrams scorn detail and make a point: They are a superb high-level documentation.
Don't take them literally and act like they're gospel truths you must live your life by. That's not what Perlis was going for with them. Just like you shouldn't take DRY (don't repeat yourself) literally. You should use judgement.
If you need to learn Fortran to write your numeric code, even though Fortran isn't teaching you anything, you should learn Fortran. You have a job to do. But if you don't need to learn Fortran for work, and it has nothing to offer over the other languages you know, why bother with it? That's the key point of the epigram.
It's one of those languages where I'd love to see the mainstreamification of some of its ideas, but as is, it just seems too clunky.
https://github.com/bctnry/gentle-introduction-to-mercury
I'll write more and finish this book in the future, and I'm definitely writing my response to some of you's replies in the book.