eth-sri / silq

Boost Software License 1.0
611 stars 52 forks source link

Compilation to circuits? #21

Open j6k4m8 opened 3 years ago

j6k4m8 commented 3 years ago

I have been very excited to compile my silq experiments and run on the built-in simulator. In the interest of broadening to other simulators, I wonder if there has been any work on compiling to formats such as QASM or other circuit notation formats?

I think even the ability to compile to a non-standard output format (perhaps just a list of operations) would be extremely cool.

Amazing language!!

j6k4m8 commented 3 years ago

Reading through the qsim code, I think this may not yet be possible — happy to close this issue if you like. (I also wonder if there's an easy form of this that can be done by dropping "breadcrumbs" during simulation?)

tgehr commented 3 years ago

We have not worked on this yet, but in principle, it should be pretty easy to do by switching out QState and doing some sort of symbolic execution. (For a suitably restricted subset of the language, e.g., arbitrary while loops cannot be compiled to finite circuits.)

j6k4m8 commented 3 years ago

Very cool — good to know! I maaaaay look into this, but I think it's probably over my head. Thank you for the info!