News for hackers. Stuff that matters.
Re:The Lisp curse, now coming to your ecosystem by brlewis on Thursday November 05, 2026 @03:31PM (#50384090)
>Purists will disagree, but I haven't seen a real world problem solved in Lisp that I couldn't also solve in other languages.

Turing completeness makes "I couldn't also solve" an impossibly high bar.

But if what you mean is, you haven't seen macros used in ways that make you wish your day-job programming language had macros, that's fixable.

Re:The Lisp curse, now coming to your ecosystem by Xirdus on Thursday November 05, 2026 @04:30PM (#50384717)
Not GP and not Lisp programmer. But I'm curious about what you said. If you had to name one popular app or web service (>10,000 monthly unique users) that'd be much easier to clone in Lisp than in Python or Rust, specifically due to macros - what would that be?
Re:The Lisp curse, now coming to your ecosystem by brlewis on Thursday November 05, 2026 @05:13PM (#50385226)
I'm not active with any Lisp these days myself, either. Back in Web 1.0 days, when a lot of apps were transforming streaming rows of SQL results into grouped HTML entities, I used macros to implement something akin to SQL's LEAD and LAG, but at the application level. I don't have time, so I have to leave it as an exercise to the reader why it would take more verbosity to implement this in another language.

https://brl.sourceforge.net/brl_4.html#SEC31

Now, as a non-Lisper, I have to wait and hope the maintainers of programming languages I use will take useful syntax from other languages. Back when I was an active Lisper, I could take such syntax myself.

Re:The Lisp curse, now coming to your ecosystem by Xirdus on Thursday November 05, 2026 @05:39PM (#50385518)
Is there any such syntax remaining? Sure, 20 years ago it was a pain to do manipulations of more than 1 element at a time. But nowadays everyone and their dog has some form of iterator combinators that make it a one liner. Even C++, although the line gets quite wide. Is there anything that, as of 2026, you miss having in your day job language (and that language isn't Java)?
Re:The Lisp curse, now coming to your ecosystem by brlewis on Thursday November 05, 2026 @08:32PM (#50387040)
I'm having fun in TypeScript and only casually missing the capabilities of macros. It's Turing-complete, so doing the equivalent things is a simple matter of programming. And I'm almost always processing JSON structures, not SQL result rows, so I don't miss being able to write syntax like `sql-repeat` on a day-to-day basis.
Re:The Lisp curse, now coming to your ecosystem by Xirdus on Thursday November 05, 2026 @10:02PM (#50387638)
Languages are no more Turing-complete than they were 50 years ago. If lack of Lisp macros was such a huge deal back then it affected day to day web development, then surely it must be affecting us all in this day and age too. Arguably, using JSON instead of SQL should make such macros even more important due to the unnesting of data we need to do. So why isn't it?
Re:The Lisp curse, now coming to your ecosystem by brlewis on Friday November 06, 2026 @10:13AM (#50393306)
About today, JavaScript is good at referencing JSON. You don't need macros to make it better at it.

About back then, Perl/PHP/Python/Java/Ruby were never as good at pulling groups out of rows of SQL, but people could work around that by taking more time, writing more code, being more careful. So if you haven't seen macros used to make it better, you don't realize you're missing out on a huge deal. Maybe you just have a vague idea that things could be better, but you're too busy finding and fixing bugs to pursue this thought.

Re:The Lisp curse, now coming to your ecosystem by Xirdus on Friday November 06, 2026 @11:45AM (#50394770)
In other words, as of 2026, this phrase:

> if what you mean is, you haven't seen macros used in ways that make you wish your day-job programming language had macros, that's fixable.

is not true at all anymore? Or is it only true under very specific circumstances (if so, what are they)?

Re:The Lisp curse, now coming to your ecosystem by brlewis on Friday November 06, 2026 @03:40PM (#50398191)
True if you would like syntax that doesn't lend itself to eager evaluation. In the `sql-repeat` example, `group-beginning?` takes an expression that can't be eagerly evaluated. It's evaluated twice, once for the current row and once for the previous row, and the result of evaluation is compared. It can't just be eagerly evaluated for the current row and the result used.

Also true if you want a shorthand syntax for defining a variable where the name of the variable is meaningful. JavaScript takes care of the most common case with destructuring assignment, but with macros you could make such syntax yourself.

Re:The Lisp curse, now coming to your ecosystem by outworlder on Thursday November 05, 2026 @07:55PM (#50386800)
Macros don't make it easier to 'clone' software. They make it easier to write software, any software.
Re:The Lisp curse, now coming to your ecosystem by andyclap2 on Friday November 06, 2026 @01:56PM (#50396694)
And arguably harder to read and maintain other people's software.

Don't get me wrong I'm a macro fan. I've worked with some elegant codebases using metaprogramming but it's been challenging bringing people up to speed with super clear efficient - but novel - code,

Other projects that were just down the line Java boilerplate built on a well understood library worked just as well in other ways.

Personally I think reducing cognitive load is key, I've found people don't have the energy to work with clever code, even if it makes writing it a delight.

... and then llms happened, and I now don't write code at all but closely review a fire hose of mediocrity that gets the job done. I don't want that too magical.