Code Monkey home page Code Monkey logo

Comments (6)

thomashaener avatar thomashaener commented on June 14, 2024

Do you know a nice way to fix this issue? We could check for empty lists directly in the or-operator or, alternatively, allow commands with no target qubits and then throw them out. Both don't seem very graceful...

from projectq.

Strilanc avatar Strilanc commented on June 14, 2024

There is a partial fix, just for controls, in #50

My wild idea for how to fix it is to move the engine-selection out of the qubits and into blocks like this:

with eng.pipe_commands_into_me():
    ...

But I'm still debating the strengths of that approach. It nicely simplifies the Dagger/Control/Loop/Compute cases, but it deals poorly with generators, coroutines, and async methods (since they turn this intended-to-be-lexical scoping mechanisms into a dynamical scoping mechanism).

I will send you an invite to a doc where I'm listing out things I want to propose.

from projectq.

thomashaener avatar thomashaener commented on June 14, 2024

Well, the controls part is no longer an issue but thanks for catching that!
Yes, I'm also wondering if this would not introduce too much boilerplate code. After all, having a nice and easy-to-learn syntax is a huge plus :)

Concerning the doc: Great, thanks.

from projectq.

Strilanc avatar Strilanc commented on June 14, 2024

Do you have a gmail address? It's in a google doc that I can only share with google accounts.

from projectq.

thomashaener avatar thomashaener commented on June 14, 2024

Yes, I sent you an e-mail.

from projectq.

damiansteiger avatar damiansteiger commented on June 14, 2024

We currently don't have any example where an application of a gate to an empty list would make sense. Our current design does not prohibit implementing this if it is ever needed for a specific case.

I am closing this issue now. If there is a gate implemented where the application to an empty list make sense, please open a new issue and we could then discuss adding this feature for that explicit gate.

from projectq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.