Higher-Order Semantics For Quantum Programming Languages With Classical Control