-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
920 quil spec 2024 1 conformance #921
base: master
Are you sure you want to change the base?
Conversation
a28c904
to
9deaee6
Compare
There is now a fair bit of machinery in place surrounding the use of Externs. The following cases are supported:
Case 1 is simple. In the following example, we assert that a function called
Case 2 is more complicated. In order to use an extern in an expression, the Quil standard insists that the function be known to not mutate any of its arguments, and that it return a value. The inclusion of the
Here we register a name
We must still declare the extern and provide it a type in our Quil source code in order to benefit from the registered function
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add some other documentation about EXTERN, state that stubs are not compliant
1c46e58
to
5b4eea4
Compare
s/EXTERN/STUB - renaming EXTERN keyword to STUB Add zero-qubit frame in a DEFRAME in tests Remove sample-rate from DEFWAVEFORM Added NON_VOLATILE pragma Add EXTERN, numerical expression support, printing Add: CALL instruction Addressing CALL instructions Add PRAMGA EXTERN for declaring extern function signatures Checking extern type for externs in expressions Add tests for extern and extern pragma processing Fix: nits; Catch EXTERN PRAGMA parse error and rethrow warning Remove: malformed extern pragmas no longer signal errors Fix: indentation Add: comment about why we check pragma signatures at parse time Add: Comment about why we're parsing EXTERN pragmas diffrently Fix: nits Updates in light of #88
b6aa471
to
daf5238
Compare
See #920
This PR includes support for a number of requirements introduced into the forthcoming quil spec version 2024.1
Chief among the changes: