The warnings about MacOS are mostly being cautious, as I don't think anyone actually runs it in production.
I work with open source Hack code a lot, and I almost always use the MacOS binaries instead of Linux for development.
For my workflows, it's more that there's two major missing things - I'm not seeing random issues. The big things are:
- a lot of the profiling features are Linux-only
- the mcrouter extension is Linux-only. If you're using memcached, this extension is useful even without mcrouterd, as it provides a true async (Awaitable) client.
To clarify, xhp-js was not server-side rendering - it's a framework for generating javascript code, and getting an DOM element ID for a react element that the hack code can refer to and use elsewhere, e.g. by passing to some other generated JS.
> Does anyone know if FB tracks changes to PHP so Hack is "up to date"?
No, for the most part, Hack no longer considers PHP 'upstream'. Exceptions are things like security fixes to extension functions, if that particular extension function was derived from PHP.
> Now I also don't know if I buy that MAX_INT + 1 and pass-by-reference is a pressing enough use case to break compatibility. I'd be open to hearing why, but I'd be starting from a position of skepticism.
This is an example of a change that will be made, not a rationale for the decision.
we're currently leaning towards out/inout parameters, with copy semantics, not byref (and in most cases, we'll probably be able to optimize away the copy); not certain yet though.
I work with open source Hack code a lot, and I almost always use the MacOS binaries instead of Linux for development.
For my workflows, it's more that there's two major missing things - I'm not seeing random issues. The big things are:
- a lot of the profiling features are Linux-only
- the mcrouter extension is Linux-only. If you're using memcached, this extension is useful even without mcrouterd, as it provides a true async (Awaitable) client.