On Fri, Jan 30, 2015 at 7:18 AM, James Douglas jdouglas@wikimedia.org wrote:
I wonder whether Go's lack of parametric polymorphism might make it a pretty tough sell. Given the potential benefit of introducing a statically typed language, it might be interesting to investigate and compare some of the different options.
Regarding Yuri's point about tools, what would it take to integrate Hack into the current MediaWiki build processes? It *seems* like it wouldn't be a huge diversion, but I'm quite unfamiliar with what's in place now. Have we dabbled in Hack since the HHVM switch?
I'm not aware of any WMF/MediaWiki work being done in Hack yet. Putting Hack into MediaWiki's core would be controversial but a stand alone service/app could easily choose to use it I think. Changing from PHP to Hack only requires changing the opening `<?php` to `<?hh`. Today what Hack gives you is some syntactic sugar for various common idioms from the Facebook internal code base and much stronger typing. The last time I saw someone asking if it was faster on #hhvm the answer was "not yet". Whether strong typing is a pro or a con of Hack vs PHP seems like a religious debate that I'll try to stay out of until the issue is forced. The bits most likely to be of interest in the short term are the `async` and `await` keywords [0] and possibly the Continuation class [1] which makes creating generators easier than the PHP Iterator interface.
[0]: http://docs.hhvm.com/manual/en/hack.async.php [1]: http://docs.hhvm.com/manual/en/hack.continuations.php
Bryan