1. 1
  1. 2

    Very interesting – the Skip language was written based on their experience of making the Hack type checker incremental!

    To preserve PHP-like interactivity, you have to respond in milliseconds, and a normal type checker will take tens of seconds on a big codebase. So they made it incremental, but this introduced a ton of bugs.

    It seems like the bugs also only showed up in certain commits with particular diffs! So he told a story about having to randomly test the type checker with many different diffs, and a bug that took up to a year to get rid of.

    I try to avoid “inverted” code like that, so I can imagine.

    I always thought Skip was a major piece of work that hasn’t received enough attention! I pored through it a lot of it back in 2019 – looks great, but he also admits in the interview that it’s hard to use if you don’t know him …


    (copy of comment from /r/ProgrammingLanguages)