High Level Structures for Quantum Computing