Programming Languages Lab

LQPL - A Linear Quantum Programming Language

LQPL version 0.9.1 is now available

Main changes in this release

Various bug fixes, removal of dependency on Java forms.

Main changes in release 0.9.0

  • Modularization of the Compiler / Emulator / Front End.
  • Removal of dependency on Alex and Happy for the Compiler(Moved to Parsec). The assembler in the emulator still requires Alex and Happy
  • Removal of dependency on Gtk2Hs for the front end - moved to a JRuby/Java/Swing based interface.
  • Addition of a dependency upon hspec for tests in the Haskell portions of the code
  • New build system, Rake - builds the front end and controls the Haskell build which uses CABAL.
  • Migration to BitBucket, a publicly available source code hosting site, together with an issue tracker and wiki.

Source code

LQPL is available at BitBucket in a public git repository.

Source code(Haskell, JRuby): lqpl-server-0.9.1-source.tgz.

Mac / Apple executable and DMG installer

Linux and Windows Executables

lqpl-0.9.1-bin-x86_64-linux.tgz - Untar this to a directory of your choice, change to that directory and type: java -jar lqpl_gui.jar. This binary has been build on an Ubuntu system - and we have noted it does not work on the current Fedora 17 build. The LQPL wiki has instructions for building on Fedora 17.

Windows binary still remains to be done.


User documentation is in progress. A first version is included with the download and available separately: lqplManual.pdf


This "road-map" might be more appropriately called a "dream list" or even "random thoughts". We intend it to document the things we plan / would like to do to LQPL.

Environment - Release

Source release September 2009 Completed 0.8.3 This was promised in the HCAR in May, so it is about time. Compiling requires a recent ghc release and gtk2hs 0.10.
Source release / bugfixes April 2010 Completed 0.8.4 This release addresses a few bugs found in quantum stack merging and adds some example programs for probabilistic computing. Compiling requires a recent ghc release and gtk2hs 0.10.
Source Release May 2012 Completed 0.9.0 Separation of UI from emulator and compiler.

UI and Functionality

Compile in emulator September 2009 Completed 0.8.3 Allow the emulator to open .qpl files, compile them and automatically load the .qpo file.
Add breakpoints TBD Not Started ? Currently the emulator allows stepping through a fixed number of instructions. It would be much more convenient to stop where you want rather than trying to compute how many instructions to step over.
Instruction to source link-back TBD Not Started ? It would be useful for the "machine code" to allow links back to the source code to allow source level stepping, following execution at the source level, breakpoints at the source level.

Performance / Back-end

Allow multiple threads TBD Not Started ? The code processes instructions by processing them down multiple branches of the quantum stack. This seems ready made for multiple processors. We would need to control the total number of threads/parallel processes being run.
[ Home | Events | People | Publications | Projects ]


Last modified by Brett Giles
Last modified: 2013-11-15