Skip to content
This repository was archived by the owner on Jan 12, 2024. It is now read-only.

Conversation

@kuzminrobin
Copy link
Contributor

@kuzminrobin kuzminrobin commented Apr 16, 2021

(Feel free to let me know if you'd like me to break this up into multiple PRs)
Added DumpMachine() and DumpRegister() functions implementation.
Added some README.md files (that I've written for myself, to get a more clear understanding for the future of what to add where, and decided to share those).
Did some refactoring of the code.
Resolves #578.

@kuzminrobin kuzminrobin marked this pull request as ready for review April 16, 2021 13:21
@kuzminrobin
Copy link
Contributor Author

Please review while I'm resolving the build breaks

Copy link
Contributor

@cgranade cgranade left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a large PR, so I haven't had the chance to finish reviewing it yet; wanted to give initial feedback on what parts I had looked at so far, though.

Copy link
Collaborator

@swernli swernli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have a more full review later, but some of these changes (most notably the ones to the headers in the public folder) are breaking changes, such that I think we should have a more general discussion about which parts of our API boundary have dependencies vs not so we can avoid breaking any consumers.

@kuzminrobin
Copy link
Contributor Author

Looks like I missed an important information earlier. I didn't know that our QIR code has customers.
I need more info about that. If yo have time, then I would really appreciate if you (or anybody else) could tell me more about how the customers use our QIR code.

@swernli
Copy link
Collaborator

swernli commented Apr 17, 2021

Yeah, it has definitely been the case up until now that we have been more free to do refactoring based on no external dependencies on this API, but that seems to be changing quickly. The changes you are making here are well thought out and reasonable from the point of view of a C++ API, and give us important things to consider. At the same time, we also should start considering ease of interop with other languages, in which case it might be worth leaning toward a more C-style API that relies on extern functions and basic types instead of objects. All these API design concerns are things that only recently have started coming up, so I think it will be important to have your experience and knowledge to take into account with that before we settle on a firm approach, so between that and the few partners who are taking a dependency on the API it seems we are due for a larger team discussion about how we want to handle updates to the design of the API.

@kuzminrobin
Copy link
Contributor Author

I have reverted the breaking changes. Please give another round of review.

@kuzminrobin kuzminrobin requested review from cgranade and swernli April 20, 2021 01:18
@kuzminrobin kuzminrobin self-assigned this Apr 20, 2021
Copy link
Collaborator

@swernli swernli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor comments for you to consider, but overall changes look good to me (though it does look like there is some ongoing discussion with Chris in a few places).

@kuzminrobin kuzminrobin enabled auto-merge (squash) April 20, 2021 20:55
@kuzminrobin kuzminrobin disabled auto-merge April 20, 2021 22:26
@kuzminrobin kuzminrobin enabled auto-merge (squash) April 21, 2021 00:19
@kuzminrobin kuzminrobin merged commit a15856e into main Apr 21, 2021
@kuzminrobin kuzminrobin deleted the kuzminrobin/dumpMachine4refact branch April 21, 2021 01:37
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move the Message() implementation from QIS to RT

5 participants