Skip to main content

Q# Language

Feedback on language syntax, constructs, types, ...

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Improve error message when curly braces `{}` are abbreviated in if statement

    It seems Q# doesn't allow abbreviating curly braces in if statement.
    ```
    if (flg)
    fail("fail");
    ```

    I get the error message "QS0001 Internal error: Parsing produced an error node without logging an error" when I wrote above code. This message is far from helpful.

    2 votes
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. Reorder function arguments in partial application

    For example with a syntax like (f(_2, a, _1))(b, c) === f(c, a, b).

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. AssertQubitState requires explicit Complex() call

    Example from documentation does not compile:

    AssertQubitState(((1., 0.), (0., 0.)), qubits[0], 1e-5);

    However, this code does:

    AssertQubitState((Complex(1., 0.), Complex(0., 0.)), qubits[0], 1e-5);

    Error being:

    Severity Code Description
    Error QS0001 Type mismatch for argument: (Microsoft.Quantum.Extensions.Math.Complex, Microsoft.Quantum.Extensions.Math.Complex) expected, but ((Double, Double), (Double, Double)) was provided
    Error QS0001 expected type Microsoft.Quantum.Extensions.Math.Complex, instead got type (Double, Double)
    Error QS0001 expected type Microsoft.Quantum.Extensions.Math.Complex, instead got type (Double, Double)

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. Allow single statements to function as blocks

    For example "if (condition) statement;" instead of "if (condition) {statement;}"

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  5. Allow more flexible order of functor definitions

    They need to be defined like:

    adjoint auto
    controlled auto
    controlled adjoint auto

    But there's no need not to allow

    controlled auto
    adjoint auto
    controlled adjoint auto

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  6. Allow for #region blocks

    Allow to define #region #endregion blocks , just as currently allowed in C#

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  7. 1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  8. Allow allocating 0 qubits.

    using(q=Qbit[0]){} currently crashes. This means that code that sometimes needs 0 auxiliary qubits needs to add a special case for this or always allocate one qubit too many. Allocating 0 qubits should be allowed.

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. What`s the website?

    There are many English words,I couldn`t understand it.
    I`m a Chinese.

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  10. There are no multiple line comments?

    Because the language is new, it would be good if everything was well organized...

    6 votes
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  11. Working On error correction

    I want to perform error correction on any quantum circuits (if the circuits are written in a .qasm/.qc or any other file ) then how can we read the whole circuit form that file and load then in data structure in QDK to apply error correcting codes.
    Apart from that if I want to apply different error correcting codes rather than BitFlipCode or 5-qubit Perfect code then can I manipulate the QECC class defined in that?

    1 vote
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. I would like to propose an entaglement measurement to quantum circuits based on states decomposition

    Since circuits generate entanglement, it can be possible to evaluate the entanglement measurement in each step (from 0 to 1).

    2 votes
    Sign in
    Signed in as (Sign out)

    We’ll send you updates on this idea

    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base