Skip to content

HERMIT Shell Client Server Architecture

Andy Gill edited this page Jun 10, 2015 · 3 revisions

We set up the shell as a GHCi client, talking to a HERMIT server, that is a GHC plugin.

Shutdown

This shutdown is tricky, because GHCi is not designed to be shut down from the prompt.

:abort

This shuts down the shell and the server cleanly, without completing compilation.

The order is

  • User types :abort
  • This sends abort to the server, which remembers we are to abort
  • The message is {"params":[],"method":"abort"}
  • This server returns `{"shutdown":"abort"}.
  • The client receives the reply, then shuts down.
  • The server sees the shutdown, and does the abort

Clone this wiki locally