OnWorks favicon

hh_server - Online in the Cloud

Run hh_server in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command hh_server that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



hh_server - Hack language typechecker daemon


hh_server [--check [--json]] DIRECTORY


hh_server(1) is the actual typechecker that enforces the Hack type system. It is typically
accessed via hh_client(1); see the documentation for that tool for more information on the
Hack type system and how to interface with hh_server(1).

Directly invoking hh_server(1) is of minimal use, since hh_client(1) will start and stop
it as needed. The only widely useful manual invocation is --check mode.

With no options, hh_server(1) will start up, do an initial typecheck of DIRECTORY, and
continue running, waiting for connections from hh_client(1). Again, this is not the
normal way the server should be invoked -- just running hh_client(1) and ignoring the
existence of this server binary is sufficient for common use.


Start up, check the DIRECTORY, print type errors in a human-readable format, and
then exit. This "batch mode" might be useful in cases where a single check is
needed and so starting a long-running daemon is not appropriate, such as in a pre-
commit hook. The output is intended for human consumption, not tools; for tool
consumption, see --json below.

--json If --check is specified, generate machine-readable JSON output instead of the
human-readable output generated by default.

--check TARGET
Start up and check DIRECTORY in the same manner as --check mode. Then, re-check
TARGET and attempt to add type annotations to locations in those files that are
missing. The analysis process is slow and imperfect, but often useful. This process
can change the code in ways that fail at runtime; see
http://docs.hhvm.com/manual/en/install.hack.conversion.php for detailed information
on how to combine this mode with hackificator(1) and hack_remove_soft_types(1) to
do a full and safe conversion from PHP to Hack.


If --check is specified, exits with 0 if there are no type errors, nonzero otherwise.
Other exit values are undefined.


Uses the same scheme for constructing a path to a socket for client/server communication
that hh_client(1) uses. See its documentation for a description.


It might be useful to have a pre-commit hook to make sure that type errors don't sneak
into trunk. A hook might want to directly invoke hh_server(1) so that it doesn't need a
running daemon. That can be done with something like

hh_server --check /var/www

and, if that fails, printing its output and rejecting the commit. For tool usage,
something like

hh_server --check --json /var/www

might be more appropriate; the JSON output can be passed up to a code review tool and
displayed there.

This is only for cases where having a long-running daemon is inappropriate. For normal
development usage, invoking hh_client(1) and allowing it to use the server itself will be
much faster to check code and return type errors.

Use hh_server online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    itop - ITSM  CMDB OpenSource
    itop - ITSM CMDB OpenSource
    IT Operations Portal: a complete open
    source, ITIL, web based service
    management tool including a fully
    customizable CMDB, a helpdesk system and
    a document man...
    Download itop - ITSM CMDB OpenSource
  • 2
    Clementine is a multi-platform music
    player and library organizer inspired by
    Amarok 1.4. It has a fast and
    easy-to-use interface, and allows you to
    search and ...
    Download Clementine
  • 3
    ATTENTION: Cumulative update 2.4.3 has
    been released!! The update works for any
    previous 2.x.x version. If upgrading
    from version v1.x.x, please download and
    Download XISMuS
  • 4
    Modular headtracking program that
    supports multiple face-trackers, filters
    and game-protocols. Among the trackers
    are the SM FaceAPI, AIC Inertial Head
    Tracker ...
    Download facetracknoir
  • 5
    Weaviate in a nutshell: Weaviate is a
    vector search engine and vector
    database. Weaviate uses machine learning
    to vectorize and store data, and to find
    Download Weaviate
  • 6
    PHP QR Code
    PHP QR Code
    PHP QR Code is open source (LGPL)
    library for generating QR Code,
    2-dimensional barcode. Based on
    libqrencode C library, provides API for
    creating QR Code barc...
    Download PHP QR Code
  • 7
    Cuckoo Sandbox
    Cuckoo Sandbox
    Cuckoo Sandbox uses components to
    monitor the behavior of malware in a
    Sandbox environment; isolated from the
    rest of the system. It offers automated
    analysis o...
    Download Cuckoo Sandbox
  • More »

Linux commands