Quantum programming in QCL