microsoft / microsoft/qdk

Reconsider the names of some data structures and functions in the RCA implementation

Open
#1,285 0 comments 0 reactions 1 assignee View on GitHub

@cesarzc is already working on this.

Since Mar 21, 2024.

enhancement
Dominant language
Rust
Stars
1k
Forks
212
Avg merge
3d 8h
Merged PRs (30d)
65

Description

The Runtime Capabilities Analysis (RCA) implementation uses some data structures and functions that rely on concepts that are difficult to convey through names. However, we can improve some of them to make the algorithm easier to understand. Here's a list of the names to reconsider:
- [ ] `ApplicationGeneratorSet`
- **Description**: A set of compute properties associated to a callable or one of its elements, from which the properties of any
particular call application can be computed.
- **Location**: _compiler/qsc_rca/src/lib.rs_
- [ ] `aggregate_runtime_features`
- **Description**: Using the `self` `ComputeKind` as the basis, it calculates a new `ComputeKind` but only taking into account the runtime features of the `ComputeKind` to aggregate.
- [ ] `ApplicationInstance`
- **Description**: A representation of the compute properties of a particular callable application. In other words, a representation of a function/operation call in which its arguments are binded to static or dynamic values.
- **Location**: _compiler/qsc_rca/src/application.rs_
- [ ] "Resolution" in capabilities check pass.
- **Description**: The capabilities check pass uses the word "resolution" in errors' descriptions, but it might be confusing for the final user.
- **Location**: _compiler/qsc_passes/src/capabilitiesck.rs_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.