packages feed

quipper-demos-0.9.0.0: dist/build/Reverse/Reverse-tmp/Quipper/Demos/Reverse.hs

{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE TypeFamilies #-}
{-# LINE 1 "Quipper/Demos/Reverse.hs" #-}
import Quipper

my_circuit :: (Qubit, Qubit) -> Circ (Qubit, Qubit)
my_circuit (a,b) = do
  qnot_at a `controlled` b
  hadamard b `controlled` a
  return (a,b) 
  
rev_circuit :: (Qubit, Qubit) -> Circ (Qubit, Qubit)
rev_circuit = reverse_simple my_circuit

main =
  print_simple Preview rev_circuit