• 0 Posts
  • 49 Comments
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle





  • I am currently writing a C compiler, with my own backend (and hopefully, frontend) in OCaml.

    But why write your own C frontend? It’s much more of a pain than people imagine. I maintain a C frontend implemented in OCaml (the project itself goes back 25 years) and it’s still not on par with GCC or Clang.

    For any other language, sure, but C has so many “wonderful” features, starting with the lexer hack. Your grammar conveniently overlooks this issue but it’s something you’ll have to deal with to actually implement it. So it simply won’t be as nice as theory suggests.



  • These include semgrep, ast-grep, LLMs, and one-off scripts. After running these tools on a large code-base, you usually end up with lots of additional unintended changes. These range from formatting/whitespace to unrequested modifications by LLMs.

    Maybe LLMs do, but why would semgrep or your one-off script be making unrelated changes? This is like using sed to replace something and using grep to filter out the very things you just specifically modified. It should be unnecessary if you commit frequently enough and don’t do 10 different refactorings before starting to commit each one.





  • I might be the minority who was affected by this but how they handled the physical goodies last year was the last straw for me. Unlike all the spammy contributions that rush to it, I didn’t rush creating some pointless PRs on the first day or whatever. My last PR finished its embargo period a few days before the end of October. They even sent out a congratulations email, but when I clicked the link and went to the website there wasn’t anything there. Only when I checked their discord, I saw others with the same confusion and someone semi-officially saying they might’ve run out. It’s obvious they didn’t even ever consider running out and had no system in place to handle that.

    Other than that, some of the rules they introduced in recent years were also so detrimental to meaningful PRs even though they thought it’d motivate that, instead of spammy PRs. Clearly that didn’t work at all and actually had the opposite effect in some cases. It was a lot easier to get spammy PRs counted than meaningful ones.

    I could rant in more detail about the latter if you’re interested, but I’ll refrain right now.