Comments

Hacker News

Can these sorts of primitives be used to create broader "architectural" linters?

by mchav

I was just looking for this. Will give it a spin.

by hoppp

So what is context? This isn't new and why the submission ?

by ksec

the most valuable thing in this article for me was this:

The early loop looked like this:

  /goal improve the perf by 20%
        -> a great deal of plausible code
        -> a confusing benchmark
        -> another plausible patch

Later it looked like this:

  find the expensive work
        -> explain why it happens
        -> change one mechanism
        -> compare with the previous Rust revision
        -> test the complete application
        -> retain, revise, or reject

by bijowo1676

This is one of the least informative discussions in HN front page that I remember.

by eonwe

You guys can keep complaining about how go is too verbose, but I love everything about go.

I love the error handling, I love the forced formatting, i love all the linting it has including style guides. When you read other source code it's so easy to understand it and make sense of it. Thank you go team

(Ok, maybe I am a bit sceptical with the latest generic additions, but overall it's a great language. I love it.)

by b7e7d855b448

Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • Can these sorts of primitives be used to create broader "architectural" linters?
  • I was just looking for this. Will give it a spin.
  • So what is context? This isn't new and why the submission ?
    by ksec
  • the most valuable thing in this article for me was this:

    The early loop looked like this:

      /goal improve the perf by 20%
            -> a great deal of plausible code
            -> a confusing benchmark
            -> another plausible patch
    
    
    Later it looked like this:

      find the expensive work
            -> explain why it happens
            -> change one mechanism
            -> compare with the previous Rust revision
            -> test the complete application
            -> retain, revise, or reject
  • This is one of the least informative discussions in HN front page that I remember.
  • This isn't new?

    You can see it's used by _a lot_ of linters already:

    https://pkg.go.dev/golang.org/x/tools/go/analysis?tab=import...

  • For SpiceDB[0], we've found a lot of success using this framework to define our own analyzers; it's probably 10x easier now with LLMs. No need for tribal knowledge or more time wasted on code review if you can just turn it into a linter and move on.

    [0]: https://github.com/authzed/spicedb/tree/main/tools/analyzers

  • You guys can keep complaining about how go is too verbose, but I love everything about go.

    I love the error handling, I love the forced formatting, i love all the linting it has including style guides. When you read other source code it's so easy to understand it and make sense of it. Thank you go team

    (Ok, maybe I am a bit sceptical with the latest generic additions, but overall it's a great language. I love it.)