Safe Haskell | None |
---|
QuipperLib.QuipperASCIIParser
Description
This module is the main interface to the QuipperASCIIParser
library. It provides functions for parsing circuits in the ASCII
format written by print_generic
and similar functions.
Documentation
parse_circuit :: String -> ([Endpoint], [Endpoint] -> Circ [Endpoint])Source
Parse a string containing a circuit in the format output by Quipper's ASCII format. Return a circuit producing function of the parsed circuit, along with a specimen "shape" for the input of the parsed circuit.
lines' :: String -> [String]Source
Like lines
, except that the last line is omitted if it doesn't
end with a newline character
parse_from_stdin :: IO ([Endpoint], [Endpoint] -> Circ [Endpoint])Source
Like parse_circuit
, but read the circuit from the standard
input stream, rather than from a string. This can be used to build
stand-alone tools that process circuits in a pipeline.
As a special convenience, this function also installs a signal handler that will intercept the first kill signal (e.g., Ctrl-C) and close the standard input stream. This means that whichever part of the circuit was generated before the first Ctrl-C can still be processed as a partial circuit. Note that the second kill signal will still kill the program.