1) Performance. We needed something that would consistently work quickly on Instagram's server codebase (currently at several million lines).
2) We are building deeper semantic static analysis tools on top of Pyre. We've built some of these tools for Hack/PHP already, so following the Hack type checker's architecture is the best way for us to achieve this.
That's not really an answer to why you didn't work on mypy, at least to an outsider to the decision making process. Are you saying that you discovered it's just not possible to scale mypy (or at least not without extensive work / more work than building your own solution?)
I can appreciate the choice in context of 2) :)
Full disclosure: I worked on the Hack type checker briefly, a long time ago :)
> Internally, Pyre's high-level architecture is similar to that of Hack, Facebook's type checker for PHP.
If they had a performant codebase to start with, this makes a lot of sense.
Apple: LLVM (I know I’m stretching the definition here :) ); Objective-C, Swift; N/A; Cocoa.
Microsoft: .NET CLR; Visual Basic, C#, F#; ASP.NET; N/A.
Facebook: HHVM; Hack; N/A; React.
Google: Go, Dart; Golang, Dartlang; GWT, Guava; Angular; Android, Flutter.
Oracle: JVM; Java; APEX; N/A.
It seems that for some reason just Amazon doesn’t want to play :)
Microsoft: WPF, Blazor Oracle: JavaFX
Edit: oh and copyright