API Reference IElixir v0.9.20
Modules
This module is responsible for runtime package management. Name of the package honours remarkable chemist, Robert Boyle. This package allows you to manage your Elixir virtual enviromnent without need of restarting erlang virtual machine. Boyle installs environment into ./envs/you_new_environment
directory and creates new mix project there with requested dependencies. It keeps takes care of fetching, compiling and loading/unloading modules from dependencies list of that environment.
This is documentation for IElixir project.
Macro used for capturing stdin and stderr of evalued code.
This module provides server which computes HMAC signature of provided message.
This is documentation for Message structure and some utils that helps in encoding, parsing, assembling and sending messages.
This module provides functions that helps with database management.
This is module responsible for running user's code.
"Control: This channel is identical to Shell, but operates on a separate socket, to allow important messages to avoid queueing behind execution requests (e.g. shutdown or abort)." From https://ipython.org/ipython-doc/dev/development/messaging.html
This is module responsible for handling Heartbeat requests.
"IOPub: this socket is the ‘broadcast channel’ where the kernel publishes all side effects (stdout, stderr, etc.) as well as the requests coming from any client over the shell socket and its own requests on the stdin socket." From https://ipython.org/ipython-doc/dev/development/messaging.html
"Shell: this single ROUTER socket allows multiple incoming connections from frontends, and this is the socket where requests for code execution, object information, prompts, etc. are made to the kernel by any frontend. The communication on this socket is a sequence of request/reply actions from each frontend and the kernel." From https://ipython.org/ipython-doc/dev/development/messaging.html
"Stdin: this ROUTER socket is connected to all frontends, and it allows the kernel to request input from the active frontend when raw_input() is called. The frontend that executed the code has a DEALER socket that acts as a ‘virtual keyboard’ for the kernel while this communication is happening (illustrated in the figure by the black outline around the central keyboard). In practice, frontends may display such kernel requests using a special input widget or otherwise indicating that the user is to type input for the kernel instead of normal commands in the frontend." From https://ipython.org/ipython-doc/dev/development/messaging.html
This is supervisor module. Takes care if everything is working.
IElixir.Utils module contains various methods that makes code more readable. However, those methods may be useful during development of IElixir, testing them can conserve implementation which we would like to avoid.