The quilc Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The quilc Reference Manual

This is the quilc Reference Manual, version 1.9.1, generated automatically by Declt version 2.4 patchlevel 1 "Will Decker" on Mon Jul 29 16:31:07 2019 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

QUILC

pipeline status github release docker pulls

Quilc is an advanced optimizing compiler for the quantum instruction language Quil, licensed under the Apache 2.0 license.

Quilc comprises two projects. The first, cl-quil, does the heavy lifting of parsing, compiling, and optimizing Quil code. The second, quilc, presents an external interface for using cl-quil, either using the binary quilc application directly, or alternatively by communicating with a server (HTTP or RPCQ).

Quil is the quantum instruction language developed at Rigetti Computing. In Quil quantum algorithms are expressed using Quil's standard gates and instructions. One can also use Quil's DEFGATE to define new non-standard gates, and DEFCIRCUIT to build a named circuit that can be referenced elsewhere in Quil code (analogous to a function in most other programming languages).

Quil Compiler

This directory contains the quilc application. quilc takes as input arbitrary Quil code, either provided directly to the binary or to the quilc server, and produces optimized Quil code. The compiled code is optimized for the configured instruction set architecture (ISA), targeting the native gates specified by the ISA.

Building the Quil Compiler

Prerequisites to building quilc are:

  1. Standard UNIX build tools
  2. SBCL (a recent version): Common Lisp compiler
  3. Quicklisp: Common Lisp library manager
  4. ZeroMQ: Messaging library required by RPCQ. Development headers are required at build time.

Follow these instructions to get started from scratch.

One notorious dependency is MAGICL. It is available on Quicklisp, but requires you to install some system libraries such as BLAS, LAPACK, and libffi. Follow MAGICL's instructions carefully before proceeding with loading CL-QUIL or makeing quilc.

Once these dependencies are installed, building should be easy. Building the quilc binary is automated using the Makefile:

$ make quilc

This will create a binary quilc in the current directory

$ ./quilc --version

To install system-wide issue the command

$ make install

Using the Quil Compiler

The Quil Compiler provides two modes of interaction: (1) communicating directly with the quilc binary, providing your Quil code over stdin; or (2) communicating with the quilc server.

quilc

Note: If you're on Windows and using the Command Prompt, the echo command is slightly different to the examples shown below: do not wrap your quil code in quotes. For example, in Command Prompt, you would do echo H 0 | quilc not echo "H 0" | quilc.

The quilc binary reads Quil code provided on stdin:

$ echo "H 0" | quilc
$ cat large_file.quil | quilc

Server

For various reasons (e.g. not having to repeatedly load the quilc binary into memory, communicating over a network) quilc provides a server interface. quilc currently supports two server modes:

HTTP

The HTTP server was the original implementation of the server mode. It is now deprecated in favour of the RPCQ server mode. Do not depend on it. You can create the HTTP server with the -S flag

$ quilc -S
+-----------------+
|  W E L C O M E  |
|   T O   T H E   |
|  R I G E T T I  |
|     Q U I L     |
| C O M P I L E R |
+-----------------+
Copyright (c) 2016-2019 Rigetti Computing.



>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> IMPORTANT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
The HTTP endpoint has been deprecated in favor of the RPCQ endpoint.  In the
future, it will be removed.  You're advised to modify your client code to talk
to the RPCQ version instead.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> END IMPORTANT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<


[2019-01-29 13:59:18] Starting server: 0.0.0.0 : 6000.
RPCQ

RPCQ is an open-source RPC framework developed at Rigetti for efficient network communication through the QCS stack. The server is started in RPCQ-mode using the -R flag

$ quilc -R
+-----------------+
|  W E L C O M E  |
|   T O   T H E   |
|  R I G E T T I  |
|     Q U I L     |
| C O M P I L E R |
+-----------------+
Copyright (c) 2016-2019 Rigetti Computing.

<134>1 2019-01-29T22:03:08Z workstation.local ./quilc 4077 LOG0001 - Launching quilc.
<134>1 2019-01-29T22:03:08Z workstation.local ./quilc 4077 - - Spawning server at (tcp://*:5555) .

The server-mode provides to high-level languages such as Python a way to communicate with the Quil compiler, thus enabling high-level abstractions and tools that are not directly available in Quil. The pyquil library provides such an interface to quilc.

CL-QUIL

CL-QUIL is the Lisp library that implements parsing and compiling of Quil code. The code can be found under ./src/. Other lisp libraries, including quilc, can depend on it.

Usage

To get up and running quickly using the quilc Docker image, head directly to the section "Running the Quil Compiler with Docker" below. Otherwise, the following steps will walk you through how to build the compiler from source.

Follow the instructions in QVM's doc/lisp-setup.md to satisfy the dependencies required to load the CL-QUIL library. Afterwhich, the library can be loaded

$ sbcl

* (ql:quickload :cl-quil)
;;; <snip>compilation output</snip>
(:CL-QUIL)
* (cl-quil:parse-quil "H 0")
#<CL-QUIL:PARSED-PROGRAM {100312C643}>

A few good entry points to exploring the library are:

Automated Packaging with Docker

The CI pipeline for quilc produces a Docker image, available at rigetti/quilc.

To get the latest stable version of quilc, run docker pull rigetti/quilc.

Running the Quil Compiler with Docker

As outlined above, the Quil Compiler supports two modes of operation: stdin and server.

To run quilc in stdin mode, do one either of the following:

  1. The containerized compiler will then read whatever newline-separated Quil instructions you enter, waiting for an EOF signal (Control+d) to compile it.
docker run --rm -it rigetti/quilc
  1. You can alternatively pipe Quil instructions into the quilc container if you drop the -t.
echo "H 0" | docker run --rm -i rigetti/quilc

To run quilc in server mode, do the following:

docker run --rm -it -p 5555:5555 rigetti/quilc -R

This will spawn an RPCQ-mode quilc server, that you can communicate with over TCP. If you would like to change the port of the server to PORT, you can alter the command as follows:

docker run --rm -it -p PORT:PORT rigetti/quilc -R -p PORT

Ports 5555 and 6000 are exposed using the EXPOSE directive in the rigetti/quilc image, so you can additionally use the -P option to automatically bind these container ports to randomly assigned host ports. You can then inspect the mapping using docker port CONTAINER [PORT].

Release Process

  1. Update VERSION.txt and dependency versions (if applicable) and push the commit to master.
  2. Push a git tag vX.Y.Z that contains the same version number as in VERSION.txt.
  3. Verify that the resulting build (triggered by pushing the tag) completes successfully.
  4. Publish a release using the tag as the name.
  5. Close the milestone associated with this release, and migrate incomplete issues to the next one.

Get involved!

We welcome and encourage community contributions! Peruse our guidelines for contributing to get you up to speed on expectations. Once that's clear, a good place to start is the good first issue section. If you find any bugs, please create an issue. If you need help with some code or want to discuss some technical issues, you can find us in the #dev channel on Slack.

We look forward to meeting and working with you!


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 quilc

Author

Eric Peterson <eric@rigetti.com>

License

Apache License 2.0 (See LICENSE.txt)

Description

A CLI front-end for the Quil compiler

Version

1.9.1

Dependencies
Source

quilc.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 quilc.asd

Location

/home/quickref/quicklisp/dists/quicklisp/software/quilc-v1.9.1/quilc.asd

Systems

quilc (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 quilc/package.lisp

Parent

quilc (system)

Location

package.lisp

Packages

quilc


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 quilc/versions.lisp

Dependency

package.lisp (file)

Parent

quilc (system)

Location

versions.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 quilc/impl/sbcl.lisp

Dependency

versions.lisp (file)

Parent

quilc (system)

Location

impl/sbcl.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 quilc/web-server.lisp

Dependency

impl/sbcl.lisp (file)

Parent

quilc (system)

Location

web-server.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 quilc/rpc-server.lisp

Dependency

web-server.lisp (file)

Parent

quilc (system)

Location

rpc-server.lisp

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 quilc/printers.lisp

Dependency

rpc-server.lisp (file)

Parent

quilc (system)

Location

printers.lisp

Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.8 quilc/entry-point.lisp

Dependency

printers.lisp (file)

Parent

quilc (system)

Location

entry-point.lisp

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 quilc

Source

package.lisp (file)

Use List

common-lisp

Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Previous: , Up: Definitions   [Contents][Index]

5.1 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.1.1 Constants

Constant: +git-hash+

The git hash of the quilc repo.

Package

quilc

Source

versions.lisp (file)

Constant: +quilc-version+

The version of the quilc application.

Package

quilc

Source

versions.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.1.2 Special variables

Special Variable: *app*
Package

quilc

Source

web-server.lisp (file)

Special Variable: *compute-2q-gate-depth*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *compute-fidelity*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *compute-gate-depth*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *compute-gate-volume*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *compute-matrix-reps*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *compute-runtime*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *compute-unused-qubits*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *gate-blacklist*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *gate-whitelist*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *human-readable-stream*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *json-stream*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *log-level*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *logger*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *nick-banner*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *option-spec*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *print-logical-schedule*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *program-name*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *protoquil*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *quil-stream*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *server-host*
Package

quilc

Source

web-server.lisp (file)

Special Variable: *server-port*
Package

quilc

Source

web-server.lisp (file)

Special Variable: *statistics-dictionary*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *time-limit*

Timeout in seconds.

Package

quilc

Source

web-server.lisp (file)

Special Variable: *topological-swaps*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *verbose*
Package

quilc

Source

entry-point.lisp (file)

Special Variable: *without-pretty-printing*
Package

quilc

Source

entry-point.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.1.3 Macros

Macro: special-bindings-let* LET-DEFS &body BODY

Bind LET-DEFS as in LET, and add those LET-DEFS to bordeaux-threads:*default-special-bindings* in the same LET.

Package

quilc

Source

entry-point.lisp (file)

Macro: with-timeout &body BODY
Package

quilc

Source

web-server.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.1.4 Functions

Function: %entry-point ARGV
Package

quilc

Source

entry-point.lisp (file)

Function: %zap-info &key PURGE-XREF
Package

quilc

Source

impl/sbcl.lisp (file)

Function: apply-clifford-post DATA JSON API-KEY USER-ID

Handle a json post request for conjugating an element of the Pauli group by an element of the Clifford group. The Clifford element is specified as a quil program represented as a STRING and the element of the Pauli group is represented as a LIST whose first element is a LIST of qubit indices and the second element is a LIST of STRINGS, representing the Pauli operator acting on that index. e.g. ((1 2) ("X" "Y")) is the Pauli element IXY. JSON should be a HASHTABLE with keys "pauli" and "clifford", with values described above.

Package

quilc

Source

web-server.lisp (file)

Function: benchmarks ()
Package

quilc

Source

entry-point.lisp (file)

Function: check-libraries ()

Check that the foreign libraries are adequate. Exits with status 0 if so, 1 if not.

Package

quilc

Source

entry-point.lisp (file)

Function: check-payload-for-keys PAYLOAD &rest KEYS

Check that the parsed JSON payload PAYLOAD has all of the keys KEYS present.

Package

quilc

Source

web-server.lisp (file)

Function: clamp-syslog-name NAME

Produces a name like "<A>...<B>" where <A> is a 15-char chunk from the beginning of the name, and <B> is a 30-char chunk from the end of the name.

Package

quilc

Source

entry-point.lisp (file)

Function: command-line-debugger CONDITION PREVIOUS-HOOK
Package

quilc

Source

entry-point.lisp (file)

Function: compiler-post DATA JSON API-KEY USER-ID

Handle a post request for compiling a quil circuit.

Package

quilc

Source

web-server.lisp (file)

Function: conjugate-pauli-by-clifford REQUEST

Conjugates a Pauli operator by a Clifford operator, as specified by REQUEST.

Package

quilc

Source

rpc-server.lisp (file)

Function: create-exact/method-dispatcher EXACT-PREFIX METHOD HANDLER

Return a function such that given a request, return the handler function HANDLER only when the METHOD (e.g., :POST) matches, and when the request has a URI that exactly matches the string EXACT-PREFIX.

Package

quilc

Source

web-server.lisp (file)

Function: create-prefix/method-dispatcher PREFIX METHOD HANDLER

Return a function such that given a request, return the handler function HANDLER only when the METHOD (e.g., :POST) matches, and when the request has a URI that is *prefixed* by the string PREFIX.

Package

quilc

Source

web-server.lisp (file)

Function: disable-debugger ()
Package

quilc

Source

impl/sbcl.lisp (file)

Function: enable-debugger ()
Package

quilc

Source

impl/sbcl.lisp (file)

Function: ensure-optional-real X
Package

quilc

Source

rpc-server.lisp (file)

Function: entry-point ARGV
Package

quilc

Source

entry-point.lisp (file)

Function: format-server-log FMT-STRING &rest ARGS
Package

quilc

Source

web-server.lisp (file)

Function: generate-rb-sequence REQUEST

Generates a randomized benchmarking sequence according to REQUEST.

Package

quilc

Source

rpc-server.lisp (file)

Function: get-version-info ()
Package

quilc

Source

rpc-server.lisp (file)

Function: git-hash SYSTEM

Get the short git hash of the system SYSTEM.

Package

quilc

Source

versions.lisp (file)

Function: latest-sdk-version &key PROXY

Get the latest SDK quilc version, or NIL if unavailable.

Package

quilc

Source

versions.lisp (file)

Function: log-level-string-to-symbol LOG-LEVEL
Package

quilc

Source

entry-point.lisp (file)

Function: lookup-isa-descriptor-for-name ISA
Package

quilc

Source

entry-point.lisp (file)

Function: native-quil-to-binary REQUEST

Dummy invocation: this QUILC binary returns something QVM-executable, which is just the program again.

Package

quilc

Source

rpc-server.lisp (file)

Function: print-2q-gate-depth LSCHEDULE
Package

quilc

Source

printers.lisp (file)

Function: print-gate-depth LSCHEDULE
Package

quilc

Source

printers.lisp (file)

Function: print-gate-volume LSCHEDULE
Package

quilc

Source

printers.lisp (file)

Function: print-matrix-with-comment-hashes MATRIX &optional STREAM
Package

quilc

Source

entry-point.lisp (file)

Function: print-program PROCESSED-PROGRAM &optional STREAM
Package

quilc

Source

printers.lisp (file)

Function: print-program-fidelity LSCHEDULE CHIP-SPECIFICATION
Package

quilc

Source

printers.lisp (file)

Function: print-program-runtime LSCHEDULE CHIP-SPECIFICATION
Package

quilc

Source

printers.lisp (file)

Function: print-quil-list EXECUTABLE-CODE STREAM
Package

quilc

Source

entry-point.lisp (file)

Function: print-topological-swap-count TOPOLOGICAL-SWAPS
Package

quilc

Source

printers.lisp (file)

Function: print-unused-qubits LSCHEDULE CHIP-SPECIFICATION
Package

quilc

Source

printers.lisp (file)

Function: process-options &key PREFER-GATE-LADDERS COMPUTE-GATE-DEPTH COMPUTE-GATE-VOLUME COMPUTE-RUNTIME COMPUTE-FIDELITY COMPUTE-MATRIX-REPS COMPUTE-2Q-GATE-DEPTH COMPUTE-UNUSED-QUBITS SHOW-TOPOLOGICAL-OVERHEAD GATE-BLACKLIST GATE-WHITELIST WITHOUT-PRETTY-PRINTING PRINT-LOGICAL-SCHEDULE VERBOSE JSON-SERIALIZE ISA ENABLE-STATE-PREP-REDUCTIONS PROTOQUIL VERSION CHECK-LIBRARIES BENCHMARK SERVER-MODE-HTTP SERVER-MODE-RPC HOST PORT TIME-LIMIT HELP LOG-LEVEL QUIET CHECK-SDK-VERSION PROXY
Package

quilc

Source

entry-point.lisp (file)

Function: process-program PROGRAM CHIP-SPECIFICATION
Package

quilc

Source

entry-point.lisp (file)

Function: publish-json-statistics ()
Package

quilc

Source

printers.lisp (file)

Function: quil-to-native-quil REQUEST

Traditional QUILC invocation: compiles a Quil program to native Quil, as specified by an ISA.

Package

quilc

Source

rpc-server.lisp (file)

Function: rb-post DATA JSON API-KEY USER-ID

Handle a post request for generating a randomized benchmarking sequence. The keys of JSON are: * "depth": integer representing the desired circuit depth.
* "qubits": integer representing the number of qubits involved in the circuit.
* "gateset", list of strings, each representing a Clifford gate as a Quil program.

Package

quilc

Source

web-server.lisp (file)

Function: reload-foreign-libraries ()
Package

quilc

Source

entry-point.lisp (file)

Function: request-handler FN &key ALLOW-EMPTY-PAYLOADS

Given a function FN that takes DATA, JSON, API-KEY, and USER-ID, produce a new function which takes a request and properly unpacks it, calling the function.

If ALLOW-EMPTY-PAYLOADS is true, then an empty payload resolves to the same thing as the JSON object {}.

Package

quilc

Source

web-server.lisp (file)

Function: rewrite-arithmetic REQUEST

Rewrites the request program without arithmetic in gate parameters.

Package

quilc

Source

rpc-server.lisp (file)

Function: rewrite-arithmetic-post DATA JSON API-KEY USER-ID

Rewrites the request program without arithmetic in gate parameters. Expects a JSON payload of the form

{
"program": original program as a raw Quil string
},

and replies with the JSON

{
"quil": the rewritten program, again as a Quil string,
"original_memory_descriptors": list of memory region descriptions as strings containing DECLARE directives, "recalculation_table": dictionary with keys memory references and values text containing parameter expressions }.

Package

quilc

Source

web-server.lisp (file)

Function: run-cli-mode ISA-DESCRIPTOR
Package

quilc

Source

entry-point.lisp (file)

Function: runtime-estimation PARSED-PROTOQUIL-PROGRAM

Estimated QPU runtime of PARSED-PROTOQUIL-PROGRAM. Likely to be an over-estimate for small depth programs, where runtime is dominated by network latency and compilation, etc. Take these results with a grain of salt.

Package

quilc

Source

rpc-server.lisp (file)

Function: sdk-update-available-p CURRENT-VERSION &key PROXY

Test whether the current SDK version is the latest SDK version. Second value returned indicates the latest version.

Package

quilc

Source

versions.lisp (file)

Function: session-info ()
Package

quilc

Source

web-server.lisp (file)

Function: setup-debugger ()
Package

quilc

Source

entry-point.lisp (file)

Function: show-banner ()
Package

quilc

Source

entry-point.lisp (file)

Function: show-help ()
Package

quilc

Source

entry-point.lisp (file)

Function: show-version ()
Package

quilc

Source

entry-point.lisp (file)

Function: slurp-lines &optional STREAM
Package

quilc

Source

entry-point.lisp (file)

Function: start-rpc-server &key PROTOCOL HOST PORT LOGGER
Package

quilc

Source

rpc-server.lisp (file)

Function: start-web-server ()
Package

quilc

Source

web-server.lisp (file)

Function: stop-web-server ()
Package

quilc

Source

web-server.lisp (file)

Function: system-version SYSTEM-DESIGNATOR
Package

quilc

Source

versions.lisp (file)

Function: version-get REQUEST
Package

quilc

Source

web-server.lisp (file)

Function: zap-info ()
Package

quilc

Source

impl/sbcl.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.1.5 Generic functions

Generic Function: dispatch-table OBJECT
Generic Function: (setf dispatch-table) NEW-VALUE OBJECT
Package

quilc

Methods
Method: dispatch-table (VHOST vhost)
Method: (setf dispatch-table) NEW-VALUE (VHOST vhost)

List of dispatch functions

Source

web-server.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.1.6 Classes

Class: vhost ()
Package

quilc

Source

web-server.lisp (file)

Direct superclasses

acceptor (class)

Direct methods
  • acceptor-dispatch-request (method)
  • acceptor-status-message (method)
  • acceptor-status-message (method)
  • dispatch-table (method)
  • dispatch-table (method)
Direct slots
Slot: dispatch-table

List of dispatch functions

Initform

(quote nil)

Readers

dispatch-table (generic function)

Writers

(setf dispatch-table) (generic function)

Direct Default Initargs
InitargValue
:addressquilc::*server-host*
:document-rootnil
:error-template-directorynil
:persistent-connections-pt

Previous: , Up: Internal definitions   [Contents][Index]

5.1.7 Types

Type: interactive-interrupt ()
Package

quilc

Source

impl/sbcl.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   Q  
Index Entry  Section

F
File, Lisp, quilc.asd: The quilc<dot>asd file
File, Lisp, quilc/entry-point.lisp: The quilc/entry-point<dot>lisp file
File, Lisp, quilc/impl/sbcl.lisp: The quilc/impl/sbcl<dot>lisp file
File, Lisp, quilc/package.lisp: The quilc/package<dot>lisp file
File, Lisp, quilc/printers.lisp: The quilc/printers<dot>lisp file
File, Lisp, quilc/rpc-server.lisp: The quilc/rpc-server<dot>lisp file
File, Lisp, quilc/versions.lisp: The quilc/versions<dot>lisp file
File, Lisp, quilc/web-server.lisp: The quilc/web-server<dot>lisp file

L
Lisp File, quilc.asd: The quilc<dot>asd file
Lisp File, quilc/entry-point.lisp: The quilc/entry-point<dot>lisp file
Lisp File, quilc/impl/sbcl.lisp: The quilc/impl/sbcl<dot>lisp file
Lisp File, quilc/package.lisp: The quilc/package<dot>lisp file
Lisp File, quilc/printers.lisp: The quilc/printers<dot>lisp file
Lisp File, quilc/rpc-server.lisp: The quilc/rpc-server<dot>lisp file
Lisp File, quilc/versions.lisp: The quilc/versions<dot>lisp file
Lisp File, quilc/web-server.lisp: The quilc/web-server<dot>lisp file

Q
quilc.asd: The quilc<dot>asd file
quilc/entry-point.lisp: The quilc/entry-point<dot>lisp file
quilc/impl/sbcl.lisp: The quilc/impl/sbcl<dot>lisp file
quilc/package.lisp: The quilc/package<dot>lisp file
quilc/printers.lisp: The quilc/printers<dot>lisp file
quilc/rpc-server.lisp: The quilc/rpc-server<dot>lisp file
quilc/versions.lisp: The quilc/versions<dot>lisp file
quilc/web-server.lisp: The quilc/web-server<dot>lisp file

Jump to:   F   L   Q  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   L   M   N   P   Q   R   S   V   W   Z  
Index Entry  Section

%
%entry-point: Internal functions
%zap-info: Internal functions

(
(setf dispatch-table): Internal generic functions
(setf dispatch-table): Internal generic functions

A
apply-clifford-post: Internal functions

B
benchmarks: Internal functions

C
check-libraries: Internal functions
check-payload-for-keys: Internal functions
clamp-syslog-name: Internal functions
command-line-debugger: Internal functions
compiler-post: Internal functions
conjugate-pauli-by-clifford: Internal functions
create-exact/method-dispatcher: Internal functions
create-prefix/method-dispatcher: Internal functions

D
disable-debugger: Internal functions
dispatch-table: Internal generic functions
dispatch-table: Internal generic functions

E
enable-debugger: Internal functions
ensure-optional-real: Internal functions
entry-point: Internal functions

F
format-server-log: Internal functions
Function, %entry-point: Internal functions
Function, %zap-info: Internal functions
Function, apply-clifford-post: Internal functions
Function, benchmarks: Internal functions
Function, check-libraries: Internal functions
Function, check-payload-for-keys: Internal functions
Function, clamp-syslog-name: Internal functions
Function, command-line-debugger: Internal functions
Function, compiler-post: Internal functions
Function, conjugate-pauli-by-clifford: Internal functions
Function, create-exact/method-dispatcher: Internal functions
Function, create-prefix/method-dispatcher: Internal functions
Function, disable-debugger: Internal functions
Function, enable-debugger: Internal functions
Function, ensure-optional-real: Internal functions
Function, entry-point: Internal functions
Function, format-server-log: Internal functions
Function, generate-rb-sequence: Internal functions
Function, get-version-info: Internal functions
Function, git-hash: Internal functions
Function, latest-sdk-version: Internal functions
Function, log-level-string-to-symbol: Internal functions
Function, lookup-isa-descriptor-for-name: Internal functions
Function, native-quil-to-binary: Internal functions
Function, print-2q-gate-depth: Internal functions
Function, print-gate-depth: Internal functions
Function, print-gate-volume: Internal functions
Function, print-matrix-with-comment-hashes: Internal functions
Function, print-program: Internal functions
Function, print-program-fidelity: Internal functions
Function, print-program-runtime: Internal functions
Function, print-quil-list: Internal functions
Function, print-topological-swap-count: Internal functions
Function, print-unused-qubits: Internal functions
Function, process-options: Internal functions
Function, process-program: Internal functions
Function, publish-json-statistics: Internal functions
Function, quil-to-native-quil: Internal functions
Function, rb-post: Internal functions
Function, reload-foreign-libraries: Internal functions
Function, request-handler: Internal functions
Function, rewrite-arithmetic: Internal functions
Function, rewrite-arithmetic-post: Internal functions
Function, run-cli-mode: Internal functions
Function, runtime-estimation: Internal functions
Function, sdk-update-available-p: Internal functions
Function, session-info: Internal functions
Function, setup-debugger: Internal functions
Function, show-banner: Internal functions
Function, show-help: Internal functions
Function, show-version: Internal functions
Function, slurp-lines: Internal functions
Function, start-rpc-server: Internal functions
Function, start-web-server: Internal functions
Function, stop-web-server: Internal functions
Function, system-version: Internal functions
Function, version-get: Internal functions
Function, zap-info: Internal functions

G
generate-rb-sequence: Internal functions
Generic Function, (setf dispatch-table): Internal generic functions
Generic Function, dispatch-table: Internal generic functions
get-version-info: Internal functions
git-hash: Internal functions

L
latest-sdk-version: Internal functions
log-level-string-to-symbol: Internal functions
lookup-isa-descriptor-for-name: Internal functions

M
Macro, special-bindings-let*: Internal macros
Macro, with-timeout: Internal macros
Method, (setf dispatch-table): Internal generic functions
Method, dispatch-table: Internal generic functions

N
native-quil-to-binary: Internal functions

P
print-2q-gate-depth: Internal functions
print-gate-depth: Internal functions
print-gate-volume: Internal functions
print-matrix-with-comment-hashes: Internal functions
print-program: Internal functions
print-program-fidelity: Internal functions
print-program-runtime: Internal functions
print-quil-list: Internal functions
print-topological-swap-count: Internal functions
print-unused-qubits: Internal functions
process-options: Internal functions
process-program: Internal functions
publish-json-statistics: Internal functions

Q
quil-to-native-quil: Internal functions

R
rb-post: Internal functions
reload-foreign-libraries: Internal functions
request-handler: Internal functions
rewrite-arithmetic: Internal functions
rewrite-arithmetic-post: Internal functions
run-cli-mode: Internal functions
runtime-estimation: Internal functions

S
sdk-update-available-p: Internal functions
session-info: Internal functions
setup-debugger: Internal functions
show-banner: Internal functions
show-help: Internal functions
show-version: Internal functions
slurp-lines: Internal functions
special-bindings-let*: Internal macros
start-rpc-server: Internal functions
start-web-server: Internal functions
stop-web-server: Internal functions
system-version: Internal functions

V
version-get: Internal functions

W
with-timeout: Internal macros

Z
zap-info: Internal functions

Jump to:   %   (  
A   B   C   D   E   F   G   L   M   N   P   Q   R   S   V   W   Z  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
C   D   S  
Index Entry  Section

*
*app*: Internal special variables
*compute-2q-gate-depth*: Internal special variables
*compute-fidelity*: Internal special variables
*compute-gate-depth*: Internal special variables
*compute-gate-volume*: Internal special variables
*compute-matrix-reps*: Internal special variables
*compute-runtime*: Internal special variables
*compute-unused-qubits*: Internal special variables
*gate-blacklist*: Internal special variables
*gate-whitelist*: Internal special variables
*human-readable-stream*: Internal special variables
*json-stream*: Internal special variables
*log-level*: Internal special variables
*logger*: Internal special variables
*nick-banner*: Internal special variables
*option-spec*: Internal special variables
*print-logical-schedule*: Internal special variables
*program-name*: Internal special variables
*protoquil*: Internal special variables
*quil-stream*: Internal special variables
*server-host*: Internal special variables
*server-port*: Internal special variables
*statistics-dictionary*: Internal special variables
*time-limit*: Internal special variables
*topological-swaps*: Internal special variables
*verbose*: Internal special variables
*without-pretty-printing*: Internal special variables

+
+git-hash+: Internal constants
+quilc-version+: Internal constants

C
Constant, +git-hash+: Internal constants
Constant, +quilc-version+: Internal constants

D
dispatch-table: Internal classes

S
Slot, dispatch-table: Internal classes
Special Variable, *app*: Internal special variables
Special Variable, *compute-2q-gate-depth*: Internal special variables
Special Variable, *compute-fidelity*: Internal special variables
Special Variable, *compute-gate-depth*: Internal special variables
Special Variable, *compute-gate-volume*: Internal special variables
Special Variable, *compute-matrix-reps*: Internal special variables
Special Variable, *compute-runtime*: Internal special variables
Special Variable, *compute-unused-qubits*: Internal special variables
Special Variable, *gate-blacklist*: Internal special variables
Special Variable, *gate-whitelist*: Internal special variables
Special Variable, *human-readable-stream*: Internal special variables
Special Variable, *json-stream*: Internal special variables
Special Variable, *log-level*: Internal special variables
Special Variable, *logger*: Internal special variables
Special Variable, *nick-banner*: Internal special variables
Special Variable, *option-spec*: Internal special variables
Special Variable, *print-logical-schedule*: Internal special variables
Special Variable, *program-name*: Internal special variables
Special Variable, *protoquil*: Internal special variables
Special Variable, *quil-stream*: Internal special variables
Special Variable, *server-host*: Internal special variables
Special Variable, *server-port*: Internal special variables
Special Variable, *statistics-dictionary*: Internal special variables
Special Variable, *time-limit*: Internal special variables
Special Variable, *topological-swaps*: Internal special variables
Special Variable, *verbose*: Internal special variables
Special Variable, *without-pretty-printing*: Internal special variables

Jump to:   *   +  
C   D   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   I   P   Q   S   T   V  
Index Entry  Section

C
Class, vhost: Internal classes

I
interactive-interrupt: Internal types

P
Package, quilc: The quilc package

Q
quilc: The quilc system
quilc: The quilc package

S
System, quilc: The quilc system

T
Type, interactive-interrupt: Internal types

V
vhost: Internal classes

Jump to:   C   I   P   Q   S   T   V