Applebros...

Applebros...

Ape Out Shirt $21.68

Yakub: World's Greatest Dad Shirt $21.68

Ape Out Shirt $21.68

  1. 1 month ago
    Anonymous

    >create LLVM
    >an absolute revolution in compiler technology, all open source
    >get hired by Apple
    >shit out the most atrocious language and toolchain known to man on purpose
    >just to piss off a mega corporation
    >then leave to create Mojo, a language that will make Swift completely obsolete
    Truly a FOSS hero.

    • 1 month ago
      Anonymous
    • 1 month ago
      Anonymous

      >Mojo
      futhark knockoff for brainlets

    • 1 month ago
      Anonymous

      DOA

    • 1 month ago
      Anonymous

      what was he supposed to do? rot away like torvalds did, living the rest of his life in an email client merging ever shittier patches with each coming day? you can't innovate without taking risks, and taking risks by definition means a nontrivial chance of failure.

      • 1 month ago
        Anonymous

        well, for one, he could have not done bi-directional HM inference, which is literally what OP's post is about.

    • 1 month ago
      Anonymous

      incredibly based man.
      Apple utterly btfo.
      enjoy your shitty SwiftUI apps, toddlers.

  2. 1 month ago
    Anonymous

    >handcrafted edge case exploiting a bug
    wow

    • 1 month ago
      Anonymous

      >edge case
      concatenating values is not an edge case
      >bug
      bi-directional inference is a swift "feature"

      • 1 month ago
        Anonymous

        if it's not working as intended then it's clearly a bug, moron

        • 1 month ago
          Anonymous

          How come a couple of hobbyists can make a better language than apple?

          • 1 month ago
            Anonymous

            >comparing statically-typed compiled language to dynamic trash
            why is IQfy like this these days?

          • 1 month ago
            Anonymous

            >blablablabla
            one of them works the other does not

          • 1 month ago
            Anonymous

            >I love getting fricked by dynamic lang
            Opinion discarded

          • 1 month ago
            Anonymous

            again your statically-typed compiled language does not work while my dynamic "trash" just works.

          • 1 month ago
            Anonymous

            Spoken like a true sophomore. You will learn to enjoy the fruits of statically-typed language when working on actual real world projects instead of being a script kiddie

          • 1 month ago
            Anonymous

            My quality of life programs just work however even while they are written in lua. Tell me why should i write in a typed language instead?

          • 1 month ago
            Anonymous

            I love lisp tho

          • 1 month ago
            Anonymous

            lua is "dynamic trash" that still runs faster than swift. There are static typing extensions for those who care about such things.

          • 1 month ago
            Anonymous

            >lua runs faster than swift
            honestly im a fan of lua for game scripting and i dont use swift. is your statement actually true?
            compared to rust/c++ lua is about 10x slower

          • 1 month ago
            Anonymous

            NTA but yes lua can be faster than a lot of compiled languages. This obviously changes on a case by case basis but especially with repetitive tasks lua jit can speed up programs a lot compared to the regular lua interpreter.

          • 1 month ago
            Anonymous

            Okay nocoder

        • 1 month ago
          Anonymous

          it's working as intended though - it checks all overloads to find the best match, in both directions, across the AST, which is what slows it down

          • 1 month ago
            Anonymous

            >error: the compiler is unable ...
            bug
            and it is an edge case because otherwise concatenating works, just not in this (and possibly others, if this isn't fixed yet) case

          • 1 month ago
            Anonymous

            https://danielchasehooper.com/posts/why-swift-is-slow/
            My experience with Swift is we tried to make a really fancy bi-directional Hindley-Milner type checker and it’s really great because you can have very beautiful minimal syntax but the problem is that A) compile times are really bad (particularly if you have complicated expressions) and B) the error messages are awful because now you have global constraint systems and when something goes wrong you have to infer what happened and the user can’t know that something over there made it so something over here can’t type check. In my experience it sounds great but it doesn’t work super well.

            >The issue is caused by using the + operator with the channel Int and a String literal. Thanks to the standard library’s 17 overloads of + and 9 types adopting the ExpressibleByStringLiteral Protocol, the swift compiler can’t rule out that there might be a combination of types and operators that make the expression valid, so it has to try them all. Just considering that the five string literals could be one of the possible nine types results in 59,049 combinations, but I suspect that’s a lower bound, since it doesn’t consider the many overloads of +. It gives up before getting through them all.

          • 1 month ago
            Anonymous

            ok, let's say it's a design flaw then, you win. what's the point of this thread? can you make ios and macos apps in the "better designed" language?
            I stopped caring about which languages are good and which are bad years ago since I entered the industry and spent years maintaining a legacy java 7 project. they all suck, one way or another.
            in this case I'd just split the expression and move on with whatever I was doing, like any adult with a job would.

          • 1 month ago
            Anonymous

            >they all suck
            I feel the same. I wish I had a favorite language.

          • 1 month ago
            Anonymous

            ok, let's say it's a design flaw then, you win. what's the point of this thread? can you make ios and macos apps in the "better designed" language?
            I stopped caring about which languages are good and which are bad years ago since I entered the industry and spent years maintaining a legacy java 7 project. they all suck, one way or another.
            in this case I'd just split the expression and move on with whatever I was doing, like any adult with a job would.

            I forgot to add that the point of features like this, even when they don't work 100% of the time, is that the convenience of when it DOES work outweighs the inconvenience of, for example, splitting the expression to get around this flaw

          • 1 month ago
            Anonymous

            >B) the error messages are awful because now you have global constraint systems and when something goes wrong you have to infer what happened and the user can’t know that something over there made it so something over here can’t type check
            It's fine in other languages when the IDE can show inferred restrictions or types next to every expression in milliseconds.
            People tend to ignore compilation performance but things like this are huge for language ergonomics.

          • 1 month ago
            Anonymous

            I don't know of any other language that does it that way.
            Language with type inference that I know of are either Python/Groovy dynamic runtime kind of stuff, in which case if the LSP can't infer the type, it says "fine, the interpreter will know the incoming type at runtime".
            Or it's C++/Rust, in which case the type inference is much more strict.

  3. 1 month ago
    Anonymous

    Why is this impossible? I never used this meme language.

    • 1 month ago
      Anonymous

      Using a exponential type checked system and design the language to explote the pathological exponential cases as advance(protocols).

      • 1 month ago
        Anonymous

        it's working as intended though - it checks all overloads to find the best match, in both directions, across the AST, which is what slows it down

        what are you guys talking about? What is swift doing here thats not done in rust/c++?

        • 1 month ago
          Anonymous

          Rust interferes types, but never guesses, if it's unsure what's the type you wanted to use you will have to spell it out. One exception is associated function calls, since the name of and the arguments to a function further narrow the lookup significantly, and if there is collision you'll still beed to soell it out
          Swift will guess, which scales exponentially

          • 1 month ago
            Anonymous

            What is Swift "guessing"? It's a fricking String and a fricking integer???

          • 1 month ago
            Anonymous

            See

            https://danielchasehooper.com/posts/why-swift-is-slow/
            My experience with Swift is we tried to make a really fancy bi-directional Hindley-Milner type checker and it’s really great because you can have very beautiful minimal syntax but the problem is that A) compile times are really bad (particularly if you have complicated expressions) and B) the error messages are awful because now you have global constraint systems and when something goes wrong you have to infer what happened and the user can’t know that something over there made it so something over here can’t type check. In my experience it sounds great but it doesn’t work super well.

            >The issue is caused by using the + operator with the channel Int and a String literal. Thanks to the standard library’s 17 overloads of + and 9 types adopting the ExpressibleByStringLiteral Protocol, the swift compiler can’t rule out that there might be a combination of types and operators that make the expression valid, so it has to try them all. Just considering that the five string literals could be one of the possible nine types results in 59,049 combinations, but I suspect that’s a lower bound, since it doesn’t consider the many overloads of +. It gives up before getting through them all.

            . Operator overloading is fine but cannot be mixed with the kind of type inference the iPlebs are trying to do if you want reasonable compile times

          • 1 month ago
            Anonymous

            I don't get it. These are string literals, no? The type inferred has to be a string. And the other one is a literal for some integer type. Does Swift have multiple string types? I don't get it.

          • 1 month ago
            Anonymous

            >These are string literals, no?
            My understanding is that they could be string literals, but they could also be any of eight other types that the grammar represents identically and any of them could be using the + operator in one of 18 different ways. One of those combinations might be valid. The compiler can’t prove they aren’t until they’re all checked. That’s how you get 12 lines failing to compile after 42 seconds

      • 1 month ago
        Anonymous

        >exponential type checked system and design
        I have no idea what you are talking about, Sir, I'm a PHP developer and this just works on my machine.

  4. 1 month ago
    Anonymous

    A good designed language should not allow you to concatenate values of different types without conversion or type casting. Swift is trash.

  5. 1 month ago
    Anonymous

    Not as swift as the name indicates, eh

  6. 1 month ago
    Anonymous

    >bi-directional HM
    w-what?

  7. 1 month ago
    Anonymous

    >not using string interpolation

  8. 1 month ago
    Anonymous
    • 1 month ago
      Anonymous

      Nim sucks, it has some good ideas but them they decided to use the ampersand for string concatenation just because they can.

  9. 1 month ago
    Anonymous

    iTODDLERS BTFO

  10. 1 month ago
    Anonymous

    People actually use swift?

  11. 1 month ago
    Anonymous

    Who even uses swift? Aren't most mobile apps built using react native or some similar shit now?

    • 1 month ago
      Anonymous

      Apple uses Swift
      the best apps use native stuff
      whether that's Swift and/or UIKit is another matter

  12. 1 month ago
    Anonymous

    decided to try it out just now
    seems legit
    I keep hearing that the Swift compiler is slow and also a crashy piece of shit, but this is embarrassing

    t. webshit who made a bare-bones Twitter "client" back in the day in Objective-C

  13. 1 month ago
    Anonymous

    Literally why would they add this level of nondeterminism into their compiler? It literally seems less readable at a glance because of this shit.

  14. 1 month ago
    Anonymous

    Objective-C chads stay winning

  15. 1 month ago
    Anonymous

    >+channel
    wrong type

  16. 1 month ago
    Anonymous

    Rust is strongly typed. It won't implicitly cast a number to a string like this
    but it will like this:
    format!("{}", 69420)

  17. 1 month ago
    Anonymous

    swift is a joke

    • 1 month ago
      Anonymous

      >performs worse than .NET C#
      what's the point?

      • 1 month ago
        Anonymous

        why are y'all shitting on .NET C#?

        • 1 month ago
          Anonymous

          because it's M$ and gay.

    • 1 month ago
      Anonymous

      >Ada gets slaughtered by Rust
      I thought Ada was better bros?

      • 1 month ago
        Anonymous

        Ada codegen is more or less identical to rust codegen for semantically equivalent programs. The benchmarkgames benchmarks are bullshit because they measure different implementations.

    • 1 month ago
      Anonymous

      I knew I should never trust IQfy's shilling of Lisp

  18. 1 month ago
    Anonymous

    With Ada.Text_IO;
    procedure main is
    address : constant string := "127.0.0.1";
    username : constant string := "steve";
    password : constant string := "1234";
    channel : constant positive := 11;
    begin
    ada.text_io.put
    ( "http://" & username
    & ":" & password
    & "@" & address
    & "/api/" & channel'image
    & "/picture"
    ) ;
    end main;

Your email address will not be published. Required fields are marked *