• Flipper@feddit.org
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 month ago

    Has the same vibes as anthropic creating a C compiler which passes 99% of compiler tests.

    That last percent is really important. At least that last percent are some really specific edge cases right?

    Description:
    When compiling the following code with CCC using -std=c23:

    bool is_even(int number) {
       return number % 2 == 0;
    }
    

    the compiler fails to compile due to booltrue, and false being unrecognized. The same code compiles correctly with GCC and Clang in C23 mode.

    Source

    Well fuck.

    • PlexSheep@infosec.pub
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      If this wasn’t 100% vibe coded, it would be pretty cool.

      A c compiler written in rust, with a lot of basics supported, an automated test suite that compiles well known c projects. Sounds like a fun project or academic work.

    • sus@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      The incredible thing is this is actually the result of an explicit design decision.

      The compiler accepts most GCC flags. Unrecognized flags (e.g., architecture- specific -m flags, unknown -f flags) are silently ignored so ccc can serve as a drop-in GCC replacement in build systems.

      They’re so committed to vibing that they’d prefer if the compiler just does random shit to make it easier to shove it haphazardly into a build pipeline.

  • BradleyUffner@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    My favorite part of this is that they test it up to 99999 and we see that it fails for 99991, so that means somewhere in the test they actually implemented a properly working function.

    • frank@sopuli.xyz
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      No, it’s always guessing false and 99991 is prime so it isn’t right. This isn’t the output of the program but the output of the program compared with a better (but probably not faster) isprime program

      • BradleyUffner@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        Yes, that’s what I said. They wrote another test program, with a correct implementation of IsPrime in order to test to make sure the pictured one produced the expected output.

          • AItoothbrush@lemmy.zip
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 month ago

            I mean people underestimate how usefull lookup tables are. A lookup table of primes for example is basically always just better except the one case where you are searching for primes which is more maths than computer programming anyways. The modern way is to abstract and reimplement everything when there are much cheaper and easier ways of doing it.