Guido van Rossum
๐ค SpeakerAppearances Over Time
Podcast Appearances
They decided that they wanted to use the same technology that they had successfully used for HHVM.
because they had a bunch of compiler writers and static type checking experts who had written the HHVM compiler, and it was a big success within the company.
And they had done it in a certain way.
They wrote a big, highly parallel application in an obscure language named OCaml, which is apparently mostly very good for writing static type checkers.
Facebook wrote their version, and they worked on it in secret for about a year, and then they came clean and went open source.
Google, in the meantime, was developing something called PyType, which was mostly...
Interesting, because as you may have heard, they have one gigantic monorepo.
So all the code is checked into a single repository.
Facebook has a different approach.
So Facebook developed Pyre, which was written in OCaml, which worked well with Facebook's development workflow.
Google developed something they called PyType, which was actually itself written in Python.
and it was meant to sort of fit well in...
their static type checking needs in Google's gigantic monorepo.
It's a linter.
Linters often do static analysis where they try to point out things that are likely mistakes but not incorrect according to the language specification.
Like maybe you have a variable that you never use.
For the compiler, that is valid.
You might be planning to use it in a future version of the code, and the compiler might just optimize it out.
But the compiler is not going to tell you, hey, you're never using this variable.
A linter will tell you that variable is not used.