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 |
stylewarning
left a comment
There was a problem hiding this comment.
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: