ihaskell-0.4.3.0: A Haskell backend kernel for the IPython project.

Safe HaskellNone

IHaskell.IPython.ZeroMQ

Description

The ZeroMQ module abstracts away the low-level 0MQ based interface with IPython, replacing it instead with a Haskell Channel based interface. The serveProfile function takes a IPython profile specification and returns the channel interface to use.

Synopsis

Documentation

data ZeroMQInterface Source

The channel interface to the ZeroMQ sockets. All communication is done via Messages, which are encoded and decoded into a lower level form before being transmitted to IPython. These channels should functionally serve as high-level sockets which speak Messages instead of ByteStrings.

Constructors

Channels 

Fields

shellRequestChannel :: Chan Message

A channel populated with requests from the frontend.

shellReplyChannel :: Chan Message

Writing to this channel causes a reply to be sent to the frontend.

controlRequestChannel :: Chan Message

This channel is a duplicate of the shell request channel, ^ though using a different backend socket.

controlReplyChannel :: Chan Message

This channel is a duplicate of the shell reply channel, ^ though using a different backend socket.

iopubChannel :: Chan Message

Writing to this channel sends an iopub message to the frontend.

serveProfileSource

Arguments

:: Profile

The profile specifying which ports and transport mechanisms to use.

-> IO ZeroMQInterface

The Message-channel based interface to the sockets.

Start responding on all ZeroMQ channels used to communicate with IPython | via the provided profile. Return a set of channels which can be used to | communicate with IPython in a more structured manner.