That is incredible, but I must ask: Beside really getting to know Rust's trait and type system, and besides experimental / educational tinkering, could this have any practical use case?
I was surprised but pleased to see this was a declarative macro rather than a proc macro. While proc macros are more powerful, there's a surprising amount of expressive power in the declarative ones, and I'm fond of playing around with them to figure out how to stretch them beyond where it seems like they should be able to get (and maybe shouldn't be used for in real code, but that doesn't make it less fun for playing around!)
call/ec at the type level is the surprising part here, most compile-time Lisp implementations stop at basic eval but escape continuations need real control flow reasoning through trait resolution
Not the parent poster, but I'm curious why you think this? the comment seems reasonable and makes sense, your LLM detector might be more finely tuned then mine...
I've proposed this a few times, as someone whose second language is English, I can see people learning English with AI, same with teens in school. I used spellcheck in Firefox (back in the mid 2000s) to teach myself how to spell more words instead of just relying on it and forgetting about the corrections.
We are and will reach a point where more and more people speak like, and sound like AI talks. The assumptions that something is AI are going to become really useless without further evidence.
"Here is the X part", a commonly generated attention catcher these days, combined with an expert level fact, compacted into casual tone. Note it does not state opinion or reports subjective experience, which alltogether makes it a somewhat unfailable "Did you know?" addition.
It is easy to mass generate such commentary and you can frequently find it on Twitter, too.
I find it hard to believe that a human would after reading this article make the stated observation, and then write this exact comment.
Some people have AI fatigue, I have "this is AI" when nothing says it is fatigue, that and "this is slop!" without looking at it and judging it by the output fatigue.
The problem is that we can no longer trust whether something we're reading is an actual thought that someone had, or if it's copy-pasted garbage that's put there for internet points. The extra effort that comes from that decision is what causes the fatigue.
The internet was low-trust before, and now it's zero-trust.
That's the thing though, you say copy pasted garbage based on what? What if its impeccable code, some of the best you've ever read, has zero bugs, but then you find out just before downloading it, that AI was used for it. Do you throw it all away as slop? You don't even know how much was done by AI by this point mind you, what if it was very little, what about half? What if all of it was AI, 100% of it, but you didn't even notice before, so where's the bar? Are we after quality or just "a human must have spent hours for me to use the code" which is it? Because for me it's just is it reasonable quality? Then I'll use it. In fact, I use things I "vibe coded" for myself everyday, rarely finding bugs.
If i didn't notice, that's great! If it were all of such high quality, then people wouldn't have nearly the objection to it. The problem is, especially with long-form prose, that the AI output looks plausible enough, but I've put a lot of effort into reading it before discovering that it's garbage. The cost is entirely too high.
With code, that problem is worse, because code is generally much harder to read then it is to write. Plausible looking code is great until it leaks personal information, damages equipment, or destroys work.
How perfect does it need to be though? Code by humans is anything but. My problem is I see "THIS IS JUST SLOP" style comments, and it seems obvious they didn't even bother looking at the code, or testing it, they just wrote it off. Imagine if we wrote off software for discovering the developer used auto-complete (which can give you bad code too if you have no idea what he method or property you actually need is!).
For the record I agree with you, and probably most people upset with Slop, but the bar seems unclear and I think this is a bigger problem because having built all sorts of things with AI I find it unfair especially knowing how much effort it takes to do so. If you read one of the Claude focused subreddits there's people like myself who've replaced playing video games with using Claude deep into the midnight hours to hand-craft software with Claude.
It's not about being perfect (or even good!), it's just that the value of some artifact is much higher if there's any evidence that some real effort was put into its creation.
I'm honestly a bit shocked this was done entirely using declarative macros. Normally when I see such arbitrary syntax I assume it's implemented as a proc macro.
That is incredible, but I must ask: Beside really getting to know Rust's trait and type system, and besides experimental / educational tinkering, could this have any practical use case?
I was surprised but pleased to see this was a declarative macro rather than a proc macro. While proc macros are more powerful, there's a surprising amount of expressive power in the declarative ones, and I'm fond of playing around with them to figure out how to stretch them beyond where it seems like they should be able to get (and maybe shouldn't be used for in real code, but that doesn't make it less fun for playing around!)
call/ec at the type level is the surprising part here, most compile-time Lisp implementations stop at basic eval but escape continuations need real control flow reasoning through trait resolution
did you generate this comment?
Not the parent poster, but I'm curious why you think this? the comment seems reasonable and makes sense, your LLM detector might be more finely tuned then mine...
The sentence structures they use are always the same. Plus, the use of "real" here is "real" awkward and LLMs use it like that all the time.
I've proposed this a few times, as someone whose second language is English, I can see people learning English with AI, same with teens in school. I used spellcheck in Firefox (back in the mid 2000s) to teach myself how to spell more words instead of just relying on it and forgetting about the corrections.
We are and will reach a point where more and more people speak like, and sound like AI talks. The assumptions that something is AI are going to become really useless without further evidence.
"Here is the X part", a commonly generated attention catcher these days, combined with an expert level fact, compacted into casual tone. Note it does not state opinion or reports subjective experience, which alltogether makes it a somewhat unfailable "Did you know?" addition. It is easy to mass generate such commentary and you can frequently find it on Twitter, too.
I find it hard to believe that a human would after reading this article make the stated observation, and then write this exact comment.
Some people have AI fatigue, I have "this is AI" when nothing says it is fatigue, that and "this is slop!" without looking at it and judging it by the output fatigue.
The problem is that we can no longer trust whether something we're reading is an actual thought that someone had, or if it's copy-pasted garbage that's put there for internet points. The extra effort that comes from that decision is what causes the fatigue.
The internet was low-trust before, and now it's zero-trust.
That's the thing though, you say copy pasted garbage based on what? What if its impeccable code, some of the best you've ever read, has zero bugs, but then you find out just before downloading it, that AI was used for it. Do you throw it all away as slop? You don't even know how much was done by AI by this point mind you, what if it was very little, what about half? What if all of it was AI, 100% of it, but you didn't even notice before, so where's the bar? Are we after quality or just "a human must have spent hours for me to use the code" which is it? Because for me it's just is it reasonable quality? Then I'll use it. In fact, I use things I "vibe coded" for myself everyday, rarely finding bugs.
If i didn't notice, that's great! If it were all of such high quality, then people wouldn't have nearly the objection to it. The problem is, especially with long-form prose, that the AI output looks plausible enough, but I've put a lot of effort into reading it before discovering that it's garbage. The cost is entirely too high.
With code, that problem is worse, because code is generally much harder to read then it is to write. Plausible looking code is great until it leaks personal information, damages equipment, or destroys work.
How perfect does it need to be though? Code by humans is anything but. My problem is I see "THIS IS JUST SLOP" style comments, and it seems obvious they didn't even bother looking at the code, or testing it, they just wrote it off. Imagine if we wrote off software for discovering the developer used auto-complete (which can give you bad code too if you have no idea what he method or property you actually need is!).
For the record I agree with you, and probably most people upset with Slop, but the bar seems unclear and I think this is a bigger problem because having built all sorts of things with AI I find it unfair especially knowing how much effort it takes to do so. If you read one of the Claude focused subreddits there's people like myself who've replaced playing video games with using Claude deep into the midnight hours to hand-craft software with Claude.
It's not about being perfect (or even good!), it's just that the value of some artifact is much higher if there's any evidence that some real effort was put into its creation.
This is impressive! I'm supposed to do work today, but now I just want to play with this thing
I'm honestly a bit shocked this was done entirely using declarative macros. Normally when I see such arbitrary syntax I assume it's implemented as a proc macro.
[dead]